>>>>> "VST" == Vehbi Sinan Tunalioglu <[EMAIL PROTECTED]> writes:

    VST> Emre Sevinc <[EMAIL PROTECTED]> writes:
    ES> ... Common Lisp'in gücünü gösteren
    ES> önemli bir mevzu diye düsünüyorum. (Bkz. lex ve yacc ile
    ES> bogusmadan nasil mini-parser yazilir).

    VST> Kesinlikle en kisa zamanda ogrenmemiz gereken bir konu.

Hmm.  Hakikaten daha eski lisplerde reader bir suru ise yariyordu.
Kullandigimdan degil, gordugum kodlardan hatirliyorum.  ANSI CL'de
reader lex/yacc yerine gecsin diye dusunulmemis, sadece CL'in isini
iyi gormesi icin yapilmis.  Bu arada read genelde cok da optimize
olmus birsey degil, uzerinden tonla veri gecirecekseniz once o
tarafina bakmakta da fayda var.  Emre'nin durumunda cok iyi oturdugu
icin reader-macrolari tavsiye ettiler ona diye hatirliyorum.  Genel
parsing isleri icin ille de reader'in ustune binmemiz gerekmiyor.  Bir
suru paket var kullanabileceginiz.  Cliki bunlari bilir.  Daha basit
ve ilginc birsey icin mesela:

http://home.pipeline.com/~hbaker1/Prag-Parse.html 

[...]
    VST> Valla, keske Mehmet Ali Hoca'nin cok isi olmasaydi. Tabi,
    VST> Bulent Agabey'in mesai saatlerinde toplanmasak daha da iyi
    VST> olabilirdi :) Ben anlatacak kadar ogrenebilir miyim kisa
    VST> zamanda bilemiyorum...

Hergun kullandigim birsey degil onun icin hemen birsey soylemek 
istemiyorum ama basit bir ornek (mesela cl-sql'deki neyse) uzerinde 
yogunlasmak isterseniz burada birseyler ortaya cikartiriz.  

Bir de sunu soyleyeyim, macrolar, DSL, reader'i minciklamak filan cok 
iyi ama bu arada ogrenmekte olanlarin bunlarin disinda kalan (yani 
yaygin dillerle yapilan) seyleri CL ile yapmaya hakim olmalari ogrenme 
sirasi acisindan belki daha dogru.  Emre'nin orneginde reader-macro 
kullanmak belki iyi oldu, ama reader-macro kullanmadan basit bir 
parserla is gormek belki daha iyi olurdu ogrenmek bakimindan.  

BM


_______________________________________________
cs-lisp mailing list
[email protected]
http://church.cs.bilgi.edu.tr/lcg
http://cs.bilgi.edu.tr/mailman/listinfo/cs-lisp

Cevap