«前の日記(2004年01月05日) 最新 次の日記(2004年01月07日)» 編集

Matzにっき


2004年01月06日 [長年日記]

_ [生活]体調不良

急に寒くなったせいか、昨日あたりから体調が悪く、寒気がしたり、鼻炎が悪化したりしたので自宅作業。

とはいえ、今は子供たちも冬休みなので、作業がはかどらない。 家族全員で引きこもり状態。 結局仕事もたいして進まないし。

これではいくらなんでもいかんだろうと、夜は温泉にでかける。 結構寒いのね。

_ [Ruby]M17N

で、仕事が進まないなりにRuby M17Nについて考えていたのだが、CHISEあたりをヒントに

  • 整数で文字を表すのはやめる
  • 文字も文字列も二つの文字列ポインタ(始端と終端)で表現
  • 文字に対する操作はその文字列の「最初の文字」が対象になる
  • 文字に対する操作は基本的にその文字の属性の取得
  • 文字列に対する操作は(一部を除き)文字に対する操作で記述したものをfall backとして用意

という方針でなんとかなるのではないかと考える。 これだと、たとえば「文字=コードポイント」という仮定もないのでより広い範囲で対応できるだろう。 ステートフルなエンコーディングにはいずれにせよ対応できないけど(効率上の問題であきらめた方が良さそう)。

もっとも、これだと以前作ったもの(ruby_m17nブランチ)の実装はほとんど流用できないなあ。

課題は

  • 正規表現エンジンはどうするか。鬼車は独自のencoding対応が入っちゃってるし。
  • 不正なバイト列にどう対処するか

だな。特に前者。 エンジンの自作はできれば避けたいけど、鬼車をフォークするってのもなあ。


«前の日記(2004年01月05日) 最新 次の日記(2004年01月07日)» 編集