作者: Bruce.
日時: 2004/8/25(23:38)
Bruce. です。

gawk 3.1.4 がリリースされたので、早速ダウンロードしてVisual C++でのコンパイル
(マルチバイト文字対応)を試してみました。基本的には 3.1.3のときと同じで、シン
ボルをいくつかdefineするだけでよかったのですが、そうたやすくはすませてもらえ
ず、キャラクタクラスを使うと変な動作をするのに気がつきました。

dfa.c の dfaexec()という関数の中で

      if (buf_begin <= (unsigned char const *)begin 
            && (unsigned char const *) end <= buf_end) {

が成り立ってしまってそれにより以前の入力とマッチを行ってしまうようになり、結果
は当然おかしくなると。なぜそうなってしまうのかは時間切れでまだ調べてません。

とりあえずこの条件式の結果いかんにかかわらず所定の処理をするようにすることで
回避はしたのですがあまりよろしくないですねえ。公開には時間かかるかな?

-- 
木村浩一
  I thought what I'd do was, I'd pretend I was one of those deaf-mutes.
  mail kbk@...
  web  www.kt.rim.or.jp/~kbk/