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
Bu derleyiciyi (örneğin python'ı alabilirsin) başka bir dilin derleyicisi olarak kullandığında sen programlama dili yapmış olmuyorsun. Sadece giriş komutlarını değiştirmiş oluyorsun. Ayrıca dil dediğin şey sadece bir framework'e dönüşmüş olur
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.
 
Bruh. Tek isteğim bunu nasıl yapacağımı öğrenmekti.

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 bilene soru sormak ve cevap alıp küçük bir projeyle bunu ben yaptım demek istemıştim. 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 İngilizce öğ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.
 
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.
 
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.
 
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.

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. Tabii 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 bu da çok zor ama asm kadar değil.

Tavsiyem başka bir dili geliştirmeye uğraş. TS gibi.

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.
 

Technopat Haberler

Geri
Yukarı