kiyoka.2007_12_17 RSSPLAIN

Related pages: !kiyoka.blog.list !kiyoka.blog.2007_12
555555555555
5

[OldType]Kahua対応の続き

5

Wikiパーサーが出力するデータをSXMLではなくOldType専用の内部フォーマットにした。(フォーマットの詳細は後日書く予定)

5

SXMLだとKahua側で再度高階タグに変換する時に骨が折れる。

5

要するにSXMLは構文が柔軟すぎてパース処理が複雑になるわけだ。

5

わざわざ高階タグに変換する理由は、1行毎に編集ボタンなどのアクションを設けたい場合でも簡単に実装できるから。

5

Kahuaではアクションはただの関数呼びだしで実現できるので高階タグ形式にしておけば簡単に機能追加ができる。

5

ところで、内部フォーマットを高階タグにする部分はmatch関数を多用した(自分の今のスキルからすると)かなり高度な実装で、1行あたりの密度が非常に高いコードになっている。

5

他の言語で実装するとしたらもっと冗長になるんだろうな。

5

例えば、Rubyとかで書いたらどんな感じになるんだろうか。

5

Rubyでもそこそこの行数で書けると思うが、(使用するライブラリにもよるが)たぶんもっと長めのコードになると思う。

5

Schemeは人を選ぶけれども複雑なデータ構造の処理には向いていると思うよ。

5

簡潔に書ける理由はmatchライブラリが良くできているのと、リスト内包表記が強力なのが一番大きい。