kiyoka.2007_08_23 RSSPLAIN

Related pages: !kiyoka.blog.list !kiyoka.blog.2007_08
555555555555555
5

[OldType] WiLiKiのパーサを流用してパーサを作る

5

WiLiKiのソースを読んでいくと、かなりモジュール化がしっかりしているので、パーサ部分をそのまま流用させてもらう事にしました。

5

これでOldTypeのライセンスは自動的に修正BSDに決定です。(注意:Emacs Lisp部分だけは例外でGPLv3です。)

5

流用したらパーサが簡単に作れました。パーサは1ファイルで独立しています。

5

モジュール化重要ですね。

5

結局、<<< 複数行 >>> で verbatimになるルールはそのまま残して '!' で始まる行を 1行単位で verbatim になるルールを追加しました。

5

実際に元のルールを壊さずにパーサを改変しようとすると勉強になります。

5

元のソースを理解していないと手を入れられないわけですから。

5

さらっと読んで理解したつもりになるのとは雲泥の差があります。

5

(使ったソースはCVS版の parse.scm,v 1.6 2007/05/02 10:37:17 shirok です。)

5

 

5

 

5

COMMENTcut-sea

あのパーサは最初見た時かなり感動しました。

新しく追加するのが簡単になるように作られてて。

parse.scmという風にモジュールになってるのは知らなかったですが、

この作りは私を含めて周囲では流用し(バクり)まくりです。

一体、どう考えたらこういう構成を考えつくんでしょうねぇ。

5

COMMENTkiyoka

私も感動しました。

最初はよく理解できなくて何度も壊しながら試行錯誤したんですが、

いったん継続渡しスタイルの全体像が見えた瞬間、ほんの一部書きかえただけでOKとわかり驚きました。

『継続って便利だ!』って思った初めての瞬間です。

format.scmも見ている所ですが、wiki-nameの処理とか新しいwiki-macro($$date等)とかがプラッガブルになっていて驚きです。

5

...comment disabled...