Herkese Merhabalar, Hatırlarsanız bir wiki üzerinde çalışıyordum. Testler esnasında core.gen.tr sunucularında çalışırken, Core ekibinin yorumu üzerine - epey bir uğraş sonucu çiçek gibi yazılmış - XML markup sözdizimi yerine daha insancıl bir markup sözdizimi kullanmaya karar verdim. (Kim ister ki elle XML yazmak?)
Ardından kendim Wikipedia+MoinMoin+Trac markup sözdizimlerini işleyen bir parser yazdım. Yazım süreci oldukça sancılı geçti ve ortaya son derece karmaşık bir kod çıktı. Ardından yine Core ekibi bak biz core-server projemizde şöyle (src/parser.lisp) bir parser generator kullanıyoruz dediler. Ardından o gün EBNF, Pragmatic Parsing in Common Lisp[1] ve META başlıkları ile tanışmam bir oldu. Fakat core-server'daki parser generator'ın bir sorunu vardı, o da kendi geliştirdikleri core-stream'leri kullanıyor olmalarıydı. Ve bu da taşınabilirliği ortadan kaldırıyordu. Ardından o gece parser.lisp'i ve Henry G. Baker'ın makalesini okuyup ertesi gün kendi META parser'ımı yazmaya başladım. [1] http://tkb.mpl.com/~tkb/software/misc/Prag-Parse.html Somut sonuca http://cliki.net/meta-sexp adresinden ulaşabilirsiniz. Ve sizi temin ederim, bir parser generator yazmak, elle parser yazmaktan çok daha kolay. meta-sexp ile bir wiki markup sözdizimi için parser yazmak ise ikinsinden de daha kolay. Unutmadan, meta-sexp paketi asdf-install ile yüklenebilir halde. Herkese afiyet olsun. _______________________________________________ cs-lisp mailing list cs-lisp@cs.bilgi.edu.tr http://church.cs.bilgi.edu.tr/lcg http://cs.bilgi.edu.tr/mailman/listinfo/cs-lisp