Bir zamanlar Programlama Dilleri dersi projesi için javada Eclipse ortamı ile hazırladığım bir Lexical Parser örneği. Çok çok basit bir derleyici olarak da düşünülebilir aslında :)
Verilen bir dilin kurallarına uygun olarak girilen kodu parçacıklara (Tokenlara) ayırarak bir parse-tree oluşturuyor ve bu ağacı dolaşarak, kodu söz dizimsel analizden geçiriyor, girilen kod doğruysa işlemi yapıp sonucu ekrana yazıyor hata varsa hatayı yazıyor.
Kullanılan dil ise;
a:=234+55;
b:=32;
c:=(a+b*2)*24;
gibi işlemleri gerçekleştirebilecek operatörler ve ‘:=’ işaretinden oluşuyor; değişkenler de kullanılabiliyor ve de satır sonunu göstermek için ‘; ‘ (noktalı virgül ) kullanılıyor.
Bir işlemi yapmak için programa girdi olarak verilen kodlar, ekrandan girilebileceği gibi dosyadan bir script olarak da alınabiliyor. Dosyadan okunan çok satırlı kodlarda her bir satır için ayrı parse-tree görüntüleniyor.
Programın java kodunu indirmek için tıklayın
Hiç yorum yok:
Yorum Gönder