Kendi yazılım dilime nasıl derleyici yapabilirim?

python ile 14 yaşında bir gencin programlama dili yaptım zannederek python içerisinde komutları karar yapıları yönlendirerek buna bir derleyici yazmayı amaçlamasından bahsettim.
Bruh.Tek isteğim bunu nasıl yapacağımı öğrenmekti.
Derleyici dediğin şey geliştirilen kodları, makine diline çevirir.
Bu doğru.Ben de biliyorum
Bunu ben de düşündüm ama senin dediğin nedenden yapmadım?

Bu sohbette karşıma doğru düzgün belge çıkmadı.Tek isteğim böyle bir şey yapabilir miyim diye bir BİLENE SORU SORMAK VE CEVAP ALIP KÜÇÜK BİR PROJEYLE BUNU BEN YAPTIM DEMEK İSTEMIŞTİM.Ama pek yardımı olmadı her neyse. Siz burada konuşurken Dart dilini öğrendim ve ardından ben okulumun haber uygulamasını(mobil ve ilk flutter projem) daha sonra ise okulun İngilizce hocaları ile bir ingilizce öğrenme uygulamasını (yaklaşık 2500 satır ama bu küçük bir proje) yaptım umarım ocak sonunda play store içinde yayınlayacağım.Her neyse zaten beklentilerimi yüksek tutmam hiçbir şey yapmamamı sağladığı için kötü olsun ama bir şey olsun dedim. Umarım yakında daha fazla şey yaparım.Herkese fikirleri için teşekkürler ve linç atmazsanız sevinirim.
 

Adam gibi cevap almak istiyorsan Stack Overflow da Quora gibi forumlara git. Biz burada konuşurken dart dilini öğrendim diyorsun. Büyük ihtimal Max OOP kısmına kadar gelip saldın ve öğrendim diyorsun. Son olarak sana compileri nasıl yapacağının adımlarını çok kabaca vereceğim.
İlk başta ayrıştırıcı yap. Sonra kod temizleyici yap, yani yorum satırlarını vb. yok etsin. Ondan sonra syntax kontrolcüsü yap. Sonra kodu Assembly'e çeviren kısmıda kodla. Çeviriciyi Python ile bile yazabilirsin. İnternetten kendinde araştır. Umarım iyi bir dil çıkarırsın ortaya.
 
Çok teşekkür ederim.

Konu kilitlensin lütfen.
 
Çok teşekkür ederim.

Konu kilitlensin lütfen.
Bak, sana anlatayım. Önce yukarıdaki arkadaşın dediği gibi bir kod temizleyici yapman lazım. Daha sonra herhangi bir dil ile kodları asm ye çevirecek ve onları link edecek komutu çalıştırıp en sonunda onları elde derleyecek komutu çalıştırman lazım. Asm ye çevirme kısmı hayatını alır. Ki öğrencisin benim gibi. Tabii bunun her OS için farklı kütüphaneler, asm derleyicileri falan kullanman gerekecek. Tabi illa buglar vs olacak. Yani şevkini kırmak gibi olmasın bir dil yazma işi tek kişinin yapacağı bir iş değil. Belki interpreter bir dil yazabilirsin ama buda çok zor ama asm kadar değil.

Tavsiyem başka bir dili geliştirmeye uğraş. TS gibi.
 
Teşekkür ederim.
 
Başka bir derleyiciye kendi kütüphanelerinden oluşan bir paket yazarsın, al sana yeni bir dil. Java ile derlensin mesela.
 
LLVM tabanlı clang derleyicisini hatırladım. Python ve llvmlite paketi ile en sonunda bir şeyler derlemeyi başardım. Herkese çok teşekkür ederim. Linkleme işini msvc linker ile yaptığım için Windows derleme için Flutter gibi Visual Studio'ya bağımlı olacağım ama en azından derleyerek bir hello world yazdırabildim. GitHub üzerinde yayınladığımda yazarım.


Daha önce basit bir interpreter yapmıştım ama yavaş olacağı için çok üstüne düşmedim. Yardımın için sağ ol.
 
Bu siteyi kullanmak için çerezler gereklidir. Siteyi kullanmaya devam etmek için çerezleri kabul etmelisiniz. Daha Fazlasını Öğren.…