July 25, 2013

Hayır hocam İngilizce kaynaklardan yararlanıyoruz malesef Türkçe kaynak sıkıntısı var. :(
Lexer, parser uzmanımız @zekeriyadurmus olduğu için :P o bana shunting yard algoritmasını önerdi ancak senin sanırım algoritmaya ihtiyacın yok :)

Dediğin işi daha önceden yapmıştık tavsiyem dkv nin kodlarına bakman. Ben de ufak tefek birşey denemiştim D ye ilk başladığım zamanlarda eğer dediğini tutuyorsa kullanırsın

https://github.com/huseyin325325/vtd

Vtd2 ye bakmanı tavsiye ederim. O zaman çok basit düşündüğüm için kaliteli bir kod bulamazsın belki ama işini görmesini umarım.

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

July 25, 2013

Belki regex'le bile halledilir:

http://dlang.org/phobos/std_regex.html

Ali

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

July 27, 2013

Evet o zamanlar regex bilmiyordum :D keşke onu kullansaymışım

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

July 29, 2013

Eline sağlık, ilerleteceğinden şüphem yok...

Peki verdiğin örnekler itibariyle şu satırlar çalışıyor mu:

    var HelloWorld:Str="Merhaba Dünya"
    var MerhabaDunya:Str=HelloWorld
    HelloWorld[8] = 'W'
    HelloWorld[9] = 'o'
    HelloWorld[10] = 'r'
    HelloWorld[11] = 'l'
    HelloWorld[12] = 'd'
    write(HelloWorld, " / ", MerhabaDunya) // printout->Merhaba World / Merhaba Dünya

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

August 04, 2013

Diziler ve Stringler şuanda aktif değiller shunting yard algoritmasını kullanmaya başladım :) Gayet güzel bir algoritma ileride duruma göre değişiklikler yapılabilir.

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

August 09, 2013

Herşeyden önce zekeriyadurmus hocama çok teşekkür ederim bana bu algoritmayı önerdiği için :)

Ve Ramazan'ın da bitmesi benim açımdan çok iyi oldu. Kafam yerine geldi ve algortimayı yazmayı tamamladım bu ondan bir kesit :)

http://o1308.hizliresim.com/1d/b/r9zws.png

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

August 09, 2013

Tebrikler Hüseyin :) İnşallah devamı gelir :)

Başarılar

Zekeriya

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

August 09, 2013

teşekkürler Talha. 2. adımımız ise elbette parser olucak Allah tan bu işi yaparken assembly kısmının çoğunu yazmıştım :D

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

August 09, 2013

Hocam yakında yeniden lexer ve parser yazacağım onu yazdığımda ondaki sistemi kullanırsanız çok daha iyi olur diye düşünüyorum veya isterseniz sisteminizi ona göre yapın

python da yield diye bir olay var aynı olay d de var diye hatırlıyorum lexerın işletilmesini parser sağlayacak yani bu şu demek oluyor ki önce lexer çalışıp bütün çıktıyı parsera iletmeyecek parser kendisine veri lazım oldukça lexerdan isteyecek ve bu sürede de bazı tokenlar o ana özel olmuş olacak örneğin

D dilinde version(C++) diyebiliyoruz bu bir bütün olarak algılanıyor version kelimesi gelince lexer otomatik olarak kendisini belirli şeylere koşulluyor ve c++ artık bir kelime olarak algılanıyor c ayrı ++ ayrı değil :)

Bunun gibi avantajları var ayrıca bir sonraki aşamada compiler compiler yazmayı düşünüyorum Allah izin verirse eğer. Eğer sizde uygulayacaksanız bu yeni lexer parser mantığını uygulayabilirsiniz diye düşünüyorum

İyi çalışmalar

Zekeriya

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

August 09, 2013

Alıntı (zekeriyadurmus):

>

python da yield diye bir olay var aynı olay d de var diye hatırlıyorum

yield D'de yok ama onun sağladığı iki yarar farklı olanaklar olarak var:

  • yield'in sağladığı coroutine kavramı için Fiber var:

http://dlang.org/phobos/core_thread.html#.Fiber

  • yield'in sağladığı generator kavramı için aralıklar var (InputRange, vs.)

Ali

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

1 2
Next ›   Last »