更新履歴
主な更新履歴は以下の通りです。
version 0.3.0.0
-
機能追加
- エスケープシーケンス"\u", "\U", "\l", "\L", "\d", "\D", "\s", "\S", "\w", "\W", "\a", "\r", "\n", "\f", "\t", "\e"を追加
- 行頭および行末にマッチするメタ文字"^", "$"を追加
- 上記追加に伴い、パターンの先頭に"^", 末尾に"$"がない場合は部分一致検索を行うように変更
-
仕様変更
- マッチング関数 regex::match() で、マッチング情報を得られるようにした
- コンストラクタ以外でパターンのコンパイルを行えるようにした(関数 compile() および演算子 operator= を追加)
-
その他
- Borland C++ Compiler 5.82に対応
- ソースファイルとヘルプファイルを別ディレクトリに分離
version 0.2.0.0
-
機能追加
-
以下のメタ文字を追加
- 任意の1文字(.)
- 集合([ ])
- 補集合([^ ])
- 文字クラス([:alpha:]等)
- 量化回数指定演算子({n}, {n,}, {m,n})
-
仕様変更
- DFAエンジンからNFAエンジンに変更(NFA→DFA変換関数に不具合が見つかったため)
- nfa::can_accpet()の実装を、再帰からスタックに変更
version 0.1.1.0
-
不具合修正
- basic_regexのコンストラクタ内で例外が発生した場合に構文木が解放されない事がある不具合を修正
- 整数型以外にも、いくつかの要件さえ満たせばあらゆる型を「文字型」として使えるように変更(最初は「どんな文字型でも使える」という触れ込みだったので、仕様変更ではなくバグフィックスとして扱う)
-
機能追加
- メタ文字に'+'(1回以上の繰り返し), '?'(0回または1回の繰り返し)を追加
- ヘルプファイルに「使える文字型・データ構造」の解説を追加
-
仕様変更
- 正規表現の構文エラー時にスローする例外をmercury名前空間の直下に移動
- regex_traitsクラスの定数を、「定数を返す関数」に置換
- ε遷移用の文字を不要にした(ε遷移専用のマップを内部的に持つことにした)
version 0.1.0.0
Copyright© 2008-2009 しまたろ