antlr etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
antlr etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster

1 Ağustos 2012 Çarşamba

Zeban - Projekent 2012 Türkçe Programlama dili yazımı projesi

İTÜ'de düzenlenen Projekent 2012 etkinlikleri kapsamındaki Türkçe Programlama Dili yazımı yarışmasında hazırladığım ve yarışmada 1. olduğum dil(Zeban), Akademi Insurance Solution şirketine teslim edilmiştir.

Zeban programlama yetisine sahip olmayan fakat bazı hesaplamalar açısından uzman olan kişilerin istedikleri programı basitçe yazabilmeleri adına tasarlanmıştır.

----------------------------------------------------



saAt ttat  =  _simdi +1-sa - 2-sn – 1-yil;
tam a = 0;
onDAlik İşüöçöülşpğiİa = 1;
yazdir(a + "knlm"  + 'r' + 5.3 + 2);
yazdir(ttat);
yazdirsatir();
yazdirsatir(a + "asd" + 'i');
İşüöçöülşpğiİa += -1;


tam i = {1,2,3,4,5};
tam dizii = {1,2,3,4,5}{7,8,9,0,'4'};
tam ab = dizii[a*2]['2' + 4];
ab = i[dizii['2' + 4 - "5"][i[2]]];
tam Aa = A/0;
aa = A;
tam b = 3 ;
yazi ssq = "egerİÇİNDĞüişıeatama" + 5.4;
tam oo = 2.34;
tAM  ii = oo + 2;
ii += asdsdfg + 2;
tam deneme;
eger(ii<a){
don(ii == 4 ve dogru)
{ ii += 1;}
            tam ih = 2;tam tt = 2.4;
            eger(a == oo + ii){
                        tam onda = 2 + oo * 2;
            }
            yaeger(dogru == yanlis){
                        oo = 1 + oo*2;
            }
            yada{
                        oo = 1 + oo*3;
            }
}
yazdir(oo);yazdirsatir(ii);

----------------------------------------------------

Zeban dilinde yazılan kod parçacığı native java koduna dönüştürülür. 

Zeban dili, tam sayı, ondalık sayi, mantıksal ifade, string, değişkenlerini tanımlamanıza, bu degiskenleri herhangi bir dönüştürme(cast) işlemi olmadan, farklı bir değişken türüne atamanıza, bu değişken türlerinde tek-çift katlı diziler tanımlamanıza ve bunlar arasında dönüştürme işlemine ihtiyaç duymadan 4 işlem gerçekleştirmize yardımcı olur. Zeban'da zaman degiskenleri yaratabilir, zaman hesaplamaları yapabilirsiniz. if-elseif-else karar mekanızmalarını ve while dongu mekanızmalarını sağlar. Çıkan sonuçları ekrana bastırmanızı sağlar.


14 Mart 2012 Çarşamba

Antlr

Antlr( another tool for language recognition ) 1989'dan beri geliştirilen yeni bir programlama dili yaratmanız için gerekli bir çok aracı sağlayan bir çatıdır. antlr geleneksel tüm dilleri destekler. Eğer implement'e edeceğiniz dile hakim olduğunuzu düşünüyorsanız, yeni bir dil tasarlamak için değişik tool'lara bakmanıza gerek bırakmaz.
Bir dil tasarlamak için gerekli, sözcüksel (lexical), cümle-sözdizim(syntax) ve anlamsal(sematic) katmanlarını kolaylıkla uygulamanızı sağlar.
Bir java geliştiricisi olarak kolaylıkla kullandım. Fakat yeni bir programlama dili geliştirmek için gerekli olan çalışma yapısını daha önce tecrübe etmediğimden, dili yaratmak başlarda kolay olmadı.
Antlr'ı Java içinde kullanacaksanız Eclipse IDE'sini kullanmanızı tavsiye ederim. hali hazırda buradaki videolar size hem Eclipse'e nasıl kuracağınızı gösterecektir, hem de ilk adım olarak size güzel bir başlangıç yaptıracaktır.
Şuanda 3.4 sürümü mevcuttur ve bir sorunla karşılaştığınızda internette daha önce sizin gibi bir çok geliştiricinin soruları ve bu cevaplara ulaşmanız kolay olacaktır. Benim gözlemim antlr daha önce çok fazla kişi tarafından kullanılmıştır, ki ben daha büyük projelerin frameworklerin içinde bunu kullanıldığına dair bazı gözlemler yaptım.