Sunum yükleniyor. Lütfen bekleyiniz

Sunum yükleniyor. Lütfen bekleyiniz

SONLU DURUM OTOMATLARININ PROGRAMLANMASI Yılmaz Kılıçaslan.

Benzer bir sunumlar


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

1 SONLU DURUM OTOMATLARININ PROGRAMLANMASI Yılmaz Kılıçaslan

2 Sunum Planı 2 1.Gramerler ve “Parser”lar 2.Gramer Olarak Sonlu Durum Otomatları 3.Sonlu Durum Otomatlarının ve “Parser”ların Prolog ile Kodlanması

3 Gramerler ve “Parser”lar  Parser, 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 PARSER Gramer İfade Evet Hayır

4 Gramer Olarak Sonlu Durum Otomatları  Her sonlu durumu otomatı bir dil tanımlar; dolayısıyla, aynı zamanda bir gramerdir.  Bir sonlu durum otomatını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 Parse İşlemi  Parser 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 Parser 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 DURUM OTOMATLARININ PROGRAMLANMASI Yılmaz Kılıçaslan." indir ppt

Benzer bir sunumlar


Google Reklamları