Sunum yükleniyor. Lütfen bekleyiniz

Sunum yükleniyor. Lütfen bekleyiniz

SONLU OTOMATLARIN PROGRAMLANMASI Yılmaz Kılıçaslan.

Benzer bir sunumlar


... konulu sunumlar: "SONLU OTOMATLARIN PROGRAMLANMASI Yılmaz Kılıçaslan."— Sunum transkripti:

1 SONLU OTOMATLARIN PROGRAMLANMASI Yılmaz Kılıçaslan

2 Sunum Planı 2 1.Gramerler ve Ayrıştırıcılar (Parsers) 2.Gramer (Dilbilgisi) Olarak Sonlu Otomatlar 3.Sonlu Otomatların ve Ayrıştırıcıların Prolog ile Kodlanması

3 Gramerler ve Ayrıştırıcılar  Ayrıştırıcı, girdi olarak bir gramer ve bir ifade (sembol dizilimi) alır. Çıktı olarak, (en azından) verilen ifadenin gramerin tanımladığı dile ait olup olmadığını söyler. 3 AYRIŞTIRICI Gramer İfade Evet Hayır

4 Gramer Olarak Sonlu Otomatlar  Her sonlu otomat bir dil tanımlar; dolayısıyla, aynı zamanda bir gramerdir.  Bir sonlu otomatın, Prolog ile kodlanması, başlangıç ve bitiş durumlarının ve durumlar arasındaki her bir geçişin gerçekler (facts) olarak belirtilmesinden ibarettir: 4 initial(q0). final(q0). g(q0,1,q1). g(q1,1,q0). g(q1,0,q3). g(q3,0,q1). g(q3,1,q2). g(q2,1,q3). g(q2,0,q0). g(q0,0,q2). SONLU DURUM OTOMATI:PROLOG PROGRAMI:

5 Üç Aşamada Ayrıştırma (Parsing) İşlemi  Ayrıştırma temelde üç iş yapacaktır: 1.İşe nereden başlaması gerektiğini belirleyecektir. 2.İşi nerede bitirmesi gerektiğini saptayacaktır. 3.Başlangıç ile bitiş arasındaki işlemleri gerçekleştirecektir. 5

6 Prolog’la Kodlanmış bir Ayrıştırıcı 6 % Başlangıç parse(String) :- initial(CurrentState), parse(String, CurrentState). % Bitiş parse([], CurrentState) :- final(CurrentState). % Ara İşlemler parse([Symbol|Rest], CurrentState) :- t(CurrentState, Symbol, NextState), parse(Rest, NextState).

7 Örnek Sorgulamalar 7 3 ?- traverse([1,0,1,0,1,1]). true. 4 ?- traverse([1,0,1,0,1,1,1]). false.


"SONLU OTOMATLARIN PROGRAMLANMASI Yılmaz Kılıçaslan." indir ppt

Benzer bir sunumlar


Google Reklamları