keitaの日記: BDのインライン処理
日記 by
keita
ようやくBDのインライン処理部分がほぼ完成。
多分コレでうまく行くんだろう、と思いたいものです。
書いたコードはちょっとなんだけど頭使うの苦手なので
時間だけはやたらかかったのサ。
それにしても、これがタメにraccを使う必要はやっぱりなかった、
というのが卒直な感想です。
たぶんraccを使わない方がRDのインラインのパーサ部分は
楽に書けると思うんだけどなぁ。
raccを通すとどうしても拡張性が落ちるし、
せっかくの動的な言語なんだからインライン要素のマーカーも
動的に定義できるくらいでいいと思うんですよね。
ところで、RDで(HTMLの)コメントってどうやって出力するかな。
なんか /^#/ でコメントアウトみたいだけれど出力に出ないし
(ただし"RD事始め"にあるヤツで試してるから本当かどうか分かんないや)、
あまり嬉しくないような気が。
とりあえずKDでは /^\(#\)/ で出力される方のコメント行にしてみました。
/^#/ は普通のテキストでは使いたい場合があるからコメントには
したくないなぁ。
完全無視のコメントアウトにはなにを当てようか。
一瞬 /^!/ とか考えたけど、それも不憫なのでヤメておこうっと。
しかしまあ、改めてRDのソース見ると、なんか賢そう。
それに比べるとBD/KDは相当ヒドいなぁ。
まぁ動けばいいけどさぁ、なんだよね、もう少しキレイに書きたいもんだね。
= TODO
* RDみたいな filter は必要なの? eRubyじゃダメ?
* RDみたいな include は必要なの? eRubyじゃダメ? それより本当に使ってる?
* label と reference はマジメに実装する?
* 使えるブロック要素とインライン要素を増やす
* サンプル用にゲームブック文書の定義
* フォーム用ブロックの定義、これがKDのウリになるかな
* RTからパクったテーブルの拡張
多分コレでうまく行くんだろう、と思いたいものです。
書いたコードはちょっとなんだけど頭使うの苦手なので
時間だけはやたらかかったのサ。
それにしても、これがタメにraccを使う必要はやっぱりなかった、
というのが卒直な感想です。
たぶんraccを使わない方がRDのインラインのパーサ部分は
楽に書けると思うんだけどなぁ。
raccを通すとどうしても拡張性が落ちるし、
せっかくの動的な言語なんだからインライン要素のマーカーも
動的に定義できるくらいでいいと思うんですよね。
ところで、RDで(HTMLの)コメントってどうやって出力するかな。
なんか /^#/ でコメントアウトみたいだけれど出力に出ないし
(ただし"RD事始め"にあるヤツで試してるから本当かどうか分かんないや)、
あまり嬉しくないような気が。
とりあえずKDでは /^\(#\)/ で出力される方のコメント行にしてみました。
/^#/ は普通のテキストでは使いたい場合があるからコメントには
したくないなぁ。
完全無視のコメントアウトにはなにを当てようか。
一瞬 /^!/ とか考えたけど、それも不憫なのでヤメておこうっと。
しかしまあ、改めてRDのソース見ると、なんか賢そう。
それに比べるとBD/KDは相当ヒドいなぁ。
まぁ動けばいいけどさぁ、なんだよね、もう少しキレイに書きたいもんだね。
= TODO
* RDみたいな filter は必要なの? eRubyじゃダメ?
* RDみたいな include は必要なの? eRubyじゃダメ? それより本当に使ってる?
* label と reference はマジメに実装する?
* 使えるブロック要素とインライン要素を増やす
* サンプル用にゲームブック文書の定義
* フォーム用ブロックの定義、これがKDのウリになるかな
* RTからパクったテーブルの拡張
BDのインライン処理 More ログイン