Thread overview
tr.alfabe modülünü ekledim
February 21, 2010

Yeni modül, tr.harfler modülündeki yapı taşlarını kullanarak alfabe tanımlayan ve harfleri hakkındaki bilgileri otomatik olarak edinen Alfabe yapısını içeriyor.

D bayağı hoşuma gitmeye başladı! :) Bu modüldeki hemen hemen herşey derleme zamanında hallediliyor. İlk defa dizgi katmaları (string mixin) kullandım ve çok yararlı buldum.

(Doğrusunu isterseniz, basit kullanım açışından temelde C'nin makroları gibiler ama bazı üstünlükleri var. Hatırtalma için: http://ddili.org/makale/katma.html)

Bazı noktalar sonraya kaldı:

'o' sıra numaraları olarak şimdilik a'yı 0'dan başlatıyorum

Hiç söylemeye gerek yok ama kendi kendime düşünmüş de olmak için: Bunun alfabede bulunmayan karakterler açısından sorunları var. Çünkü o karakterler için Unicode kodunu kullanırsak; örneğin D'den sonra, ama Ç'den önce görünebilecekler.

Bu hatayı gidereceğimiz yer, 'Alfabe.bilgiTopla' işlevi... Orada 'birincilSıraNumarası' olarak şimdilik harfin alfabedeki konumu kullanılıyor.

Onun yerine daha önce konuştuğumuz gibi ya 'c' + 0.5 gibi bir kesirli değer, ya da benim daha hızlı olacağını kuvvetle tahmin ettiğim gibi bir long değer kullanacağız.

Ama henüz her alfabede doğru çalışan bir algoritma bulamıyorum. Örneğin X harfinin yerini değiştiren bir alfabe vardı...

'o' Bu modülün hata ayıklamada yardımcı olan mesajlarını görmek için 'debug(tr_alfabe)' ifadeleri kullandım

'o' Makefile'a komut satırından aldığı dmd seçeneklerini de kullanma yeteneği ekledim. EK_DMD_SECENEKLERI değişkenini doğrudan dmd'ye geçiriyor.

Örnek kullanım:

cd trileri/linux
make EK_DMD_SECENEKLERI=-debug=tr_alfabe

Ali

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

February 21, 2010

Söylemeyi unuttuğum ufak bir sorun daha var.

Türk alfabesinde ç olduğuna göre, belki de c'nin bütün aksanlıları da artık ç'den sonra gelmelidirler diye düşündüm ve geri kalan c aksanlılarının ç'ye verdim.

Baştan mantıklı gibi geliyor ama 'dout.writefln(alfabe!(AlfabeKodu.tur))''un aşağıdaki çıktısından görüldüğü gibi, aslında bazılarının yine de c'ye ait olmaları gerek.

Türkçe okuyup yazan birisi, herhalde ćĉċčⓒ karakterlerini c'den sonra, ḉ karakterini ise ç'den sonra görmek isteyecektir. (Umarım karakterlerin yeteri kadarı sizin ekranınızda da görünüyordur.)

Aynı sorun başka harflerde de var...


 0 aA (âàáãäåāăąǎǟǡǻȁȃȧḁạảấầẩẫậắằẳẵặⓐ)
      (ÂÀÁÃÄÅĀĂĄǍǞǠǺȀȂȦḀẠẢẤẦẨẪẬẮẰẲẴẶⒶ)
 1 bB (ḃḅḇⓑ)
      (ḂḄḆⒷ)
 2 cC ()
      ()
 3 çÇ (ćĉċčḉⓒ)
      (ĆĈĊČḈⒸ)
 4 dD (đďḋḍḏḑḓⓓ)
      (ĐĎḊḌḎḐḒⒹ)
 5 eE (èéêëēĕėęěȅȇȩḕḗḙḛḝẹẻẽếềểễệⓔ)
      (ÈÉÊËĒĔĖĘĚȄȆȨḔḖḘḚḜẸẺẼẾỀỂỄỆⒺ)
 6 fF (ḟⓕ)
      (ḞⒻ)
 7 gG ()
      ()
 8 ğĞ (ĝġģǥǧǵḡⓖ)
      (ĜĠĢǤǦǴḠⒼ)
 9 hH (ĥħȟḣḥḧḩḫⓗ)
      (ĤĦȞḢḤḦḨḪⒽ)
10 ıI (î)
      (Î)
11 iİ (ìíïĩīĭįǐȉȋɨḭḯỉịⓘ)
      (ÌÍÏĨĪĬĮǏȈȊƗḬḮỈỊⒾ)
12 jJ (ĵⓙ)
      (ĴⒿ)
13 kK (ķǩḱḳḵⓚ)
      (ĶǨḰḲḴⓀ)
14 lL (ĺļľłḷḹḻḽⓛ)
      (ĹĻĽŁḶḸḺḼⓁ)
15 mM (ḿṁṃⓜ)
      (ḾṀṂⓂ)
16 nN (ñńņňǹṅṇṉṋⓝ)
      (ÑŃŅŇǸṄṆṈṊⓃ)
17 oO ()
      ()
18 öÖ (òóôõøōŏőơǒǫǭǿȍȏȫȭȯȱṍṏṑṓọỏốồổỗộớờởỡợⓞ)
      (ÒÓÔÕØŌŎŐƠǑǪǬǾȌȎȪȬȮȰṌṎṐṒỌỎỐỒỔỖỘỚỜỞỠỢⓄ)
19 pP (ṕṗⓟ)
      (ṔṖⓅ)
20 qQ (ⓠ)
      (Ⓠ)
21 rR (ŕŗřȑȓṙṛṝṟⓡ)
      (ŔŖŘȐȒṘṚṜṞⓇ)
22 sS ()
      ()
23 şŞ (śŝšșṡṣṥṧṩⓢ)
      (ŚŜŠȘṠṢṤṦṨⓈ)
24 tT (ţťŧțṫṭṯṱⓣ)
      (ŢŤŦȚṪṬṮṰⓉ)
25 uU (û)
      (Û)
26 üÜ (ùúũūŭůűųưǔǖǘǚǜȕȗṳṵṷṹṻụủứừửữựⓤ)
      (ÙÚŨŪŬŮŰŲƯǓǕǗǙǛȔȖṲṴṶṸṺỤỦỨỪỬỮỰⓊ)
27 vV (ṽṿⓥ)
      (ṼṾⓋ)
28 wW (ŵẁẃẅẇẉⓦ)
      (ŴẀẂẄẆẈⓌ)
29 xX (ẋẍⓧ)
      (ẊẌⓍ)
30 yY (ýŷÿȳẏỳỵỷỹⓨ)
      (ÝŶŸȲẎỲỴỶỸⓎ)
31 zZ (źżžƶẑẓẕⓩ)
      (ŹŻŽƵẐẒẔⓏ)

Ali

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

February 22, 2010

Alıntı:

>

Bu modüldeki hemen hemen herşey derleme zamanında hallediliyor. İlk defa dizgi katmaları (string mixin) kullandım ve çok yararlı buldum.

(Doğrusunu isterseniz, basit kullanım açışından temelde C'nin makroları gibiler ama bazı üstünlükleri var. Hatırtalma için: http://ddili.org/makale/katma.html)

Başından beri C'yi bilmediğim için kendimi ikinci sınıf bir öğrenci gibi hissediyorum :-D
Alıntı:

>

o sıra numaraları olarak şimdilik a'yı 0'dan başlatıyorum
...

Başlatalım. Eğer eksik bir yer görürsek daha sonra da düzeltebiliriz. Ayrıca digitalmarsın sitesinde de bu projeden bahsederek kendi dillerine göre test etmelerini isteyebiliriz.

Alıntı:

>

Türkçe okuyup yazan birisi, herhalde ćĉċčⓒ karakterlerini c'den sonra, ḉ karakterini ise ç'den sonra görmek isteyecektir. (Umarım karakterlerin yeteri kadarı sizin ekranınızda da görünüyordur.)

Ben inanın Türkçe okuyup yazan birisinin ḉ harfini hayatı boyunca gördüğünü sanmıyorum. Hatta bunu dahada çok abartıyorum. Dünyada bile bu harfleri kullanan bir dil var olduğunu sanmıyorum.
Eğer olurda trileri yanlış sıralarsa o zaman düzeltiriz. Yoksa şuan kendi başımıza karar veremeyiz. Çünkü bizdeki a â gibi farklı olaylarda dönüyor olabilir. Ve ayrıca şuana kadar sanıyorumda hiç bir programlama dilinde bunla ilgili bir dert görmedim. Programcı bir sorun olursa zaten yazdığı 2 tane if kodu ile bunu düzeltiyordur.

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

February 22, 2010

Alıntı (canalpay):

>

Ben inanın Türkçe okuyup yazan birisinin ḉ harfini hayatı boyunca gördüğünü sanmıyorum. Hatta bunu dahada çok abartıyorum. Dünyada bile bu harfleri kullanan bir dil var olduğunu sanmıyorum.

Karakter olarak var, ama hangi alfabe olduğunu bulamadım. Sanırım tek başına bir harf değil de ç'nin aksanlısı:

http://en.wiktionary.org/wiki/ḉ

Alıntı:

>

Çünkü bizdeki a â gibi farklı olaylarda dönüyor olabilir.

Bence haklısın. Ama bizim için dert değil, çünkü tr.harfler modülündeki c_aksan harf grubunun bir parçası olarak ḉ sorununu ;) da çözmüş durumdayız. :D

Ali

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