TSkRegExp.Optimizeメソッド実装中

SkRegExpの現在はTSkRegExp.Optimizeメソッドの実装中。

前にも書きましたが、this|that|theseと言った正規表現をth(?:is|at|ese)と最適化することと、ついでに、連続したリテラル(abcのような)の最適化もここで行うことにしました。

連続したリテラルはTREParseで処理してましたが、これだと上記の最適化が難しくなるため、TSkRegExp.Optimizeで行うことにしました。

正直、この最適化でどれだけ高速化ができるかは疑問ですが、DFAエンジンを搭載するときには、この仕組みの方がずっとやりやすいので。

それから、1.0.10の最適化で、ある種の正規表現が極端に遅くなってしまいました。近日中に修正します。

コメントを残す

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