Selam herkese. Ben Pascal ABC tarzi compiler yapmayan programlama dilini Dev C++ ile gelistirmek istiyorum. Gelistirmek mumkunmidir.Buraya dikkat: Pascal ABC, Pascal ABC.NET degil.
Kullandigim Dev C++ versioni:
Embarcadero Dev-C++
Yili: 2022
Boyutu: 100 MB(sikistirilmis setup) dan yukari sanirim.
Eger yapilabiliyorsa bana ornek source code verebilirseniz sevinirim.
Yani mümkün ama C++'in 17 ile gelen özelliklerinden yararlanamazsin. DevC++ yanılmıyorsam sadece C++14e kadar destekliyor. Ek olarak kendi interpreterini yazmak acemiyken çok zorlanacagin bir şey.
Senin isteğin interpreter yapmak. İnterpreter dediğimiz şey bir dili compile etmeden çalıştırmaya yarayan ve onu makine diline dönüştüren yorumlayıcıdır.
Örneğin pascal kodunu ele alalım.
Kod:
program primer1;
var x,y,z:integer;
begin
read(x);
y := 18;
z := x + y;
write(z);
end.
Yorumlayıcı diye bahsettiğimiz yazılım kendisine verilmiş scripti okuyacak ve sırasıyla satırları çalıştıracak. Böylece programın derlenmesine gerek kalmayacak. İlk olarak program'ın kendisi daha sonrasında değişkenler tanımlanıyor ve başlangıç ve bitiş ayarlanıyor. Ardından read(x) dediğinde read adlı fonksiyon'u buluyor ve onun kodlarını sırasıyla çalıştırıyor. Ardından read(x)'den gelen veriyi x'e verdikten sonra y'nin değer atamasını yapıyor. Bunların hepsini yapan şey interpreter.
Interpreter'ın verilen scripti parselamalı ve bundan gelen verileri daha sonrasında komutlar olarak algılayıp çalıştırmalı.
Senin isteğin interpreter yapmak. İnterpreter dediğimiz şey bir dili compile etmeden çalıştırmaya yarayan ve onu makine diline dönüştüren yorumlayıcıdır.
Örneğin pascal kodunu ele alalım.
Kod:
program primer1;
var x,y,z:integer;
begin
read(x);
y := 18;
z := x + y;
write(z);
end.
Yorumlayıcı diye bahsettiğimiz yazılım kendisine verilmiş scripti okuyacak ve sırasıyla satırları çalıştıracak. Böylece programın derlenmesine gerek kalmayacak. İlk olarak program'ın kendisi daha sonrasında değişkenler tanımlanıyor ve başlangıç ve bitiş ayarlanıyor. Ardından read(x) dediğinde read adlı fonksiyon'u buluyor ve onun kodlarını sırasıyla çalıştırıyor. Ardından read(x)'den gelen veriyi x'e verdikten sonra y'nin değer atamasını yapıyor. Bunların hepsini yapan şey interpreter.
Interpreter'ın verilen scripti parselamalı ve bundan gelen verileri daha sonrasında komutlar olarak algılayıp çalıştırmalı.
Çok özür dileyerek soruyorum, ne kadar süredir programlamayla uğraşıyorsunuz? Çoğu konsepti bilmiyorsunuz gibi geliyor.
İki yılda hiç bir konsepti öğrenmemiş olmanız üzücü. İlk öğrenmeniz gereken şeyler bunlar. Programlama dili nedir, nasıl çalışır? Interpreter nedir? Compiler nedir? VM nedir? Bazı dillerde yazılan programlar neden VM üzerinde çalışır? Bu tarz soruların yanıtlarını bilmeden programlama dili geliştirmek size aşırı zor gelir hatta bir noktada hevesiniz bile kaçabilir. Öncelikle bunları öğrenmenizi tavsiye ederim. Daha sonrasında tekrar sorun yardımcı olmaya çalışayım.