Thread overview
DMD Nedir?
Oct 07, 2017
Abdullah
Oct 07, 2017
kerdemdemir
Oct 07, 2017
Abdullah
Oct 08, 2017
Abdullah
Oct 09, 2017
Abdullah
Oct 10, 2017
Abdullah
October 07, 2017

"DMD; yazdığımız d kodlarını makine diline dönüştüren derleyicinin adıdır. Her programlama dilinin bir derleyicisi vardır. Ve yazdığımız kodlar derleyici olmadan çalışabilir bir program hâline gelemez."

Hata var mı? Önerileriniz?

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

October 07, 2017

Derleyici-yorumlayıcı olmayan programla dili olabilir diye düşünüyorum. Kağıt üstünde kalmıştır ama teorik olarak programlama dili sayılır hala http://esolangs.org/wiki/Main_Page. Bir dilinde birden çok derleyicisi olabilir tabi C++'da en populer derleyiciler GCC, CLang, MSVC örneğin .

Derleyici-yorumlacı arasındaki farka bakmak istiyorsan https://tr.wikipedia.org/wiki/Yorumlay%C4%B1c%C4%B1 güzel bir bağlantı sanki.

Saygılar
Erdem

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

October 07, 2017

Alıntı:

>

Derleyici-yorumlayıcı olmayan programla dili olabilir diye düşünüyorum.

Bu düşünce farkıysa, görmezden gelelim, çünkü dinleyiciye net ve kısa ifadeler kullanmak gerekiyor.

Alıntı:

>

Bir dilinde birden çok derleyicisi olabilir tabi C++'da en populer derleyiciler GCC, CLang, MSVC örneğin .

"Sadece bir tane olur" anlamında demek istememiştim, "muhakkak (en az) bi tane olur" anlamında demiştim.

Alıntı:

>

Derleyici-yorumlacı arasındaki fark...

Dediğim gibi daha kısa tutmak için (yorumlayıcılar da çalışma esnasında derlediği için) onları da derleyici kategorisine soktum.

Özetle hiç temeli olmayan birine anlatır gibi : ) Teşekkürler. Bir senaryo içinde böyle başlıklar atıp açıklamarını yazıyorum, video dersleri yayınlamayı düşünüyorum. Video çekerken canlı kayıt yapmak istemiyorum çünkü hem hata yapma durumu var hemde videoda "ıııı" deyip duraksamak istemiyorum : )

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

October 07, 2017

Açıklama doğru ama daha önce makine dili ve derleme kavramları anlatılmadıysa bu cümleler yeterli olmaz. Okumuş olduğunu biliyorum ama ben derleme kavramını şöyle anlatmıştım:

http://ddili.org/ders/d/derleyici.html

Yabancı üniversitedeki bir hoca derlemeli ve yorumlamalı dil karşılaştırmamda eksiklikler ve yanlışlıklar göstermişti ve sonunda yukarıdaki haline getirmiştik. :)

Ali

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

October 08, 2017

Okuduğumu hatırlamıyorum : ) Yani her yorumlayıcı/derleyici önce yorumlayıp sonra derliyor, ama bunu yaptıkları zaman farklı. Bu bilgilerle açıklamayı yeniden oluşturuyorum:

"DMD; yazdığımız d kodlarını makine diline dönüştüren programın adıdır. Her programlama dilinin dmd gibi bir dönüştürücüsü vardır. Ve yazdığımız kodlar bu dönüştürücüler olmadan çalışabilir bir program hâline gelemez."

Tüm bilgiyi bir arada vermemize gerek yok, sadece ön bilgi veriyoruz. Ama "dönüştürücü"yü kullanmakta kararsızım.

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

October 08, 2017

Alıntı (Abdullah):

>

Yani her yorumlayıcı/derleyici önce yorumlayıp sonra derliyor, ama bunu yaptıkları zaman farklı.

Aslında yorumlama ve derleme kavramları yine de farklı: Yorumlayıcı 'a+b' gibi bir kod gördüğünde

  • Metinde "a" diye bir şey geçti. Acaba böyle bir değişken biliyor muyum?

  • Eğer varsa, (örneğin bir eşleme tablosunda) bakayım değeri neymiş. (Örneğin, bundan Değer türünde gibi bir değişken üretiyor)

  • (Aynısını b için yapıyor)

  • Şimdi "+" adlı bir işlev biliyor muyum?

  • Varsa, iki Değer değişkenini ona gönderiyor.

  • Toplama işlemi Değer'lerin türlerine teker teker bakarak int olduklarını görünce örneğin "42" ve "10" gibi dizgiyi int'e dönüştürüyor ve iki int toplama işlemini çağırıyor

Derleyicinin oluşturduğu kodun kafasında çalışma zamanında en ufak bir soru yok. Hatta "a" ve "b" gibi değişken bile yok. Derlenmiş olan kod şunun gibi bir şey söylüyor:

  • TOPLA(yığıtın_başı - 8, yığıtın_başı - 4)

(TOPLA, CPU'nun bir komutu olsun, yığıtın_başı da yığıtın başını gösteren yazmaç (register).) Yani, derleyici programcının "a" ve "b" dediği değişkenleri örneğin "yığıtın şurasındaki 4 bayt" ve "yığıtın orasındaki 4 bayt" diye kurguluyor.

Dolayısıyla, yorumlayıcı ve derleyicinin işledikleri zamanların farklı olması dışında uyguladıkları işlemler de oldukça farklı.

(Not: Yorumlayıcı daha akıllı davranıp benim gösterdiğim soruların bazılarını sonradan sormaya gerek olmasın diye bir şekilde saklayabilir. Buna çalışma zamanında kendisi karar verebileceği gibi, Python vs.'den bildiğimiz gibi önceden yapabilir.)

Ali

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

October 09, 2017

Peki derleyici ve yorumlayıcıyı kapsayan bir kelime düşünüyor musunuz? Veya DMD nedir sorusuna alternatif bir cevabınız var mı?

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

October 09, 2017

Aslında yorumlayıcı kavramını karıştırmaya gerek olduğunu düşünmüyorum. D derlemeli bir dildir ve dmd bir D derleyicisidir.

Yorumlayıcı ve derleyiciyi birlikte düşündüğümde şöyle açıklayabilirim: Her ikisi de kaynak kodu okuyan, amacını anlayan, ve o amaca ulaşan işlemleri işleten programdır.

Ali

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

October 10, 2017

Alıntı:

>

Her programlama dilinin bir derleyicisi vardır.

Derdim bu cümleyi modifiye etmekti. Bunu eliyoruz o zaman : ) Teşekkürler

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]