SkRegExp version 1.0.34 公開

SkRegExp version 1.0.34 を公開しました。

今回の目玉は “UnicodeProp.pas” の差し替えです。

今まではプロパティごとのテーブルを二分検索?で探していましたが、今回は素直にテーブルを使うことにしました。

この結果、p 等を使った場合の処理速度が10倍近く速くなりました。

もちろん、array [0..$10FFFF] of なんてバカでかいテーブルは持っていません。

幸い、ユニコードはすべてが埋まっているわけではないので、その辺は工夫しました。

予告してから公開まで時間がかかってしまったのは、”UnicodeProp.pas” を自動生成するプログラムを作っていたためです。

このプログラムを作るに当たって、SkRegExp にはフル回転してもらいました。

たぶん、この手のプログラムは Perl を使った方が完成まで早いでしょう。

でも、それだとせっかくの SkRegExp が使えませんからね。

ところで、version 1.0.x は今後、バグ修正以外は行いません。これからは version 1.1.x に力を注ぐつもりです。

“SkRegExp version 1.0.34 公開” への3件の返信

  1. 小宮さん、こんにちは。ご無沙汰しています。
    1.0.34ですが、ANSI(Delphi 2007)で以下の3点の警告が出ています(1.0.33以前では問題ありませんでした)。
    [DCC 警告] UnicodeProp.pas(2777): W1035 関数 ‘GetUnicodeBlock’ の戻り値が設定されていません
    [DCC 警告] UnicodeProp.pas(2781): H2164 変数 ‘up’ が宣言されていますが ‘IsUnicodeProperty’ の中では使われていません
    [DCC 警告] UnicodeProp.pas(2854): W1022 比較結果は常に True に評価されます

  2. 福士さん、ありがとうございます。
    動作には問題ないはずですが、不気味ですから近いうちに修正します。

  3. 1.0.35を早速試してみましたが、コンパイルを通してちょろっと走らせて見た範囲では問題ないようです。対応ありがとうございます。

コメントを残す

メールアドレスが公開されることはありません。