TÜBİTAK Bilgisayar Araştırma Projesi 15

TÜBİTAK Bilgisayar Araştırma Projesi 15

Rhodeus Interpreter Çalışması
Deneyin Amacı: Bir interpreter nasıl yazılır sorusuna cevap bulmak ve bir Interpreter yazmak. Web programlama dillerinin mimarisinin nasıl olduğunu öğrenmek, çalışma mantıklarını incelemek ve bu anlamda çalışmalar yürütecek olan insanlara örnek teşkil edecek bir proje oluşturmak.

Kullanılan Yöntem ve İşlemler: Yazılacak olan interpreterın hızlı olması için hızlı bir programlama dilinde yazılması gerekir. Yapılan testler sonucunda D programlama dili diğer dillere göre daha hızlı çıkmıştır ve projede D programlama dili kullanılmıştır. Kodları yorumlarken *Lexical Analysis* algoritması, matematiksel hesaplamalar için de *Shunting-yard* algoritması ve “HumanLook” algoritması kullanılmıştır. Yorumlanan kodları işlemek için ise birbirinden türetilmiş sınıf yapısı ve Variant yapısı kullanıldı.

Gözlemler/Veri/Bulgular: Variant dizisi içerisinde verilerin saklanması, tür kontrollerinin fazla olması interpreter için büyük bir hız kaybına neden oluyor. Variant dizisine alternatif olarak kullanılan birbirinden türetilmiş sınıf yapısı ise tür kontrollerini azaltıyor ve variant yapısına göre hızlı olmasına rağmen sınıf oluşturma, çağırma işlemleri vakit alıyor. Goto yapısı gibi bazı yapıların da interpretera eklenmesinde problem teşkil ediyor.

Sonuçlar: Sonuç olarak bir interpreter nasıl yapılır sorusunun yanıtı bulundu ve bir interpreter yazıldı. Kodları parse ederken kullanılabilecek yöntemler bulundu ve HumanLook algoritması ile Lexical Analysis algoritmasının yeterli olduğuna karar verildi ve kodları çalıştırmak için ise opcode mantığında çalıştırmanın daha performanslı olduğu sonucuna ulaşıldı.

SAMSUN TÜLAY BAŞARAN ANADOLU LİSESİ
Danışman: Esra Kılıç

TALHA ZEKERİYA DURMUŞ
Proje Öğrencileri

CEVAP VER

Please enter your comment!
Please enter your name here

This site uses Akismet to reduce spam. Learn how your comment data is processed.