Özelleştirilebilir imlaya sahip yeni ve esnek nesne tabanlı bir programlama dili geliştirme
A new and flexible object oriented programming language with customizable grammar
Yazar: FIRAT KÜÇÜK
Danışman: YRD. DOÇ. DR. İBRAHİM ŞAHİN
Düzce Üniversitesi / Fen Bilimleri Enstitüsü / Elektrik Eğitimi Ana Bilim Dalı
Derece: Yüksek Lisans, 2008
Konu: Teknik Eğitim = Technical Education
Dizin: Java = Java ; Programlama = Programming ; Programlama sistemi = Programming systems ; Söz dizimi çözümleyicisi = Syntax analyzer

Özet:
İnsan kaynaklarının etkin kullanımı, bir yazılım projesinde en önemli gereksinimidir. Proje ekibinin tüm fertleri, yazılımın yapılacağı dilin neredeyse tüm detaylarına hakim olmalı ve imla problemlerinin çabucak üstesinden gelebilmelidir. Fakat bilişim şirketleri ve yazılım merkezleri çoğu zaman aynı dili bilen yeterli insan kaynağına sahip olamaz. Bu çalışmanın temel amacı farklı Programlama Dili geçmişi olan programcıların programlama alışkanlıklarını değiştirmeden kod üretmeleridir. Bu maksatla yeni bir Programlama Dili Altyapısı olan Cezve tasarlandı ve oluşturuldu. Cezve, özelleştirilebilir programlama dillerinie ev sahipliği yapmak için tasarlandı. Java Sanal Makinesi (JVM) üzerinde koşan dil alt yapısı, programcıların istekleri doğrultusunda özelleştirilebilir. Cezve kullanıcıları kendi dillerini tasarlayabilir ve programlama alışkanlıklarını değiştirmeden tasarladıkları dili kullanabilirler.Cezve bütünleşik bir ağaç ayrıştırıcı ve bir çok yönetici sınıfı içermektedir. Dil altyapısının desteklediği ağaç yapısı gözetilerek varolan Programlama Dilleri özelleştirilebilir veya baştan yeni bir Programlama Dili oluşturulabilir. Çalışmamız süresince dil özelleştirme mekanizmasını göstermek için Javy adında örnek bir programlama dili oluşturulmuştur. Dil altyapısının çalışma mekanizmasını göstermek adına örnek bir Programlama Dili oluşturulmuştur. JavaScript, Python, Ruby, Perl gibi dillerin bazı güzel özellikleri Javy'ye eklenmiştir.

Abstract:
Effective use of human resources is the most important requirement in a software project. All of the project team members should known almost all details of the programming language that is used in the project and should be able to overcome all the syntactical problems quickly. On the other hand, IT companies and software centrals generally do not have adequate human resources who know the same Programming Language. The main goal of the study is to provide a programming environment in which programmers with different programming language backgrounds can produce code without changing their programming behaviors. For this purpose, a new Programming Language Infrastructure called Cezve was designed and implemented. It is designed to be a host for customizable programming languages. It runs on Java Virtual Machine (JVM), and can be customized according to the programmers wishes. Users of it can design their own language and use this language on Cezve without changing their programming habits.Cezve includes an integrated tree parser and lots of management classes. A new Programming Language for Cezve can be created or an existing one can be modified using the tree parser constructor supported by Language Infrastructure. Throughout this study, an example programming language called Javy was created to show how the language customization mechanism of Cezve works. Some nice features of JavaScript, Python, Ruby, Perl languages are integrated in Javy.