• R/O
  • SSH
  • HTTPS

mercury-regex: List of commits


RSS
Rev. Time Author
r52 2009-02-07 18:20:16 shimataro

M: ヘルプファイルの内容をジャンル別に分類

r51 2009-02-06 16:58:48 shimataro

version 0.4.0.0
F: Borland C++ Compilerでコンパイルすると、マッチングのオフセットがおかしな値になることがある不具合を修正
F: 後方一致の空文字列パターンがテキストにマッチしない不具合を修正("a*$"が"bbbb"にマッチしない等)
F: 集合内部で文字クラスやエスケープシーケンスを使うと構文エラーが起きることがある不具合を修正
F: 参考資料の"Henry Spencer"の綴りが間違っていたので修正(ゴメンナサイ)

A: 最短(lazy)マッチに対応
A: Digital Mars C++ 8.42nに対応
A: エラーコードからエラーメッセージを生成する関数 mercury::error_message() を追加
A: NFAの状態数の上限を設定できるようにし、状態数が多くなりすぎたら例外をスローするように変更
A: エスケープシーケンス"\C"を追加
A: STL風に、regex_traits::char_type, basic_regex::size_type, basic_regex::value_type, basic_regex::traits_typeを追加
A: ヘルプファイルに「使用上の注意」を追加

M: "nfa.h"を"_regex/"ディレクトリに移動(汎用性を失い、完全に正規表現用のモデルとなったため)
M: "dfa.h"を削除し、NFA→DFA変換ルーチンを正式にサポートから除外(最短マッチ演算子の導入により、DFAの表現能力を超えたため)
M: "parse_tree.h"と"_regex/parse_node.h"の内容を統合し、"_regex/parse_tree.h"に移動("nfa.h"の移動に伴う変更)
M: 正規表現パターンとテキストによっては、必ずしも最長マッチにならないことがある(例:パターン"aa|a"でテキスト"aa"を検索すると、"a"にマッチする。これは不具合ではなく仕様)

I: NUL終端文字列を指定したときのパフォーマンスを、それ以外(長さ指定文字列、コンテナ、終端イテレータ指定)とほぼ同じにした
I: 検索速度が向上(全パターン検索を廃止したため)
I: 構文木の作成時(rule_xxx())に、いちいち例外をキャッチしなくても済むように std::auto_ptr<> に対応
I: BCCとDMCで、文字列として文字配列やポインタを普通に渡せるようにした

r50 2009-02-06 16:57:49 shimataro

version 0.4.0.0
* リビジョン: 34~49までの変更を統合

r49 2009-02-06 16:43:06 shimataro

M: "_regex/parse_node.h"を"_regex/parse_tree.h"に変更

r48 2009-02-04 16:43:26 shimataro

M: マッチング時に_match_forwardをインライン展開(リビジョン39の変更により、nfa::match_forward()は1箇所からしか呼ばれなくなったため)

ヘルプ
F: 参考資料の"Henry Spencer"の綴りが間違っていたので修正(ゴメンナサイ)
A: 今後の予定にOpen Watcom C++への対応を追加

r47 2009-02-03 14:34:38 shimataro

I: BCCとDMCで、文字列として文字配列やポインタを普通に渡せるようにした

r46 2009-02-01 05:24:33 shimataro

F: 集合内部で文字クラスやエスケープシーケンスを使うと構文エラーが起きることがある不具合を修正
A: STL風に、regex_traits::char_type, basic_regex::size_type, basic_regex::value_type, basic_regex::traits_typeを追加

r45 2009-01-31 17:15:17 shimataro

M: parse_nodeに渡す引数をスマートポインタから通常のポインタに戻した(parseではスマートポインタを使用)
A: ヘルプファイルにDigital Mars C++を使う際の注意事項を追加

r44 2009-01-31 15:54:12 shimataro

O: Digital Mars C++に対応

r43 2009-01-30 17:20:47 shimataro

I: 構文木の作成時(rule_xxx())に、いちいち例外をキャッチしなくても済むように std::auto_ptr<> に対応
F: "HTML/plan.html"が、Maxyの内容のままだったので修正
O: Digital Mars C++のコンパイルテスト("Internal error: blockopt 487"というメッセージが表示されて失敗に終わる)

r42 2009-01-30 13:03:06 shimataro

A: エスケープシーケンス"\C"を追加

r41 2009-01-29 19:26:08 shimataro

A: エラーコードからエラーメッセージを生成する関数 mercury::error_message() を追加
M: NFAの状態数の上限を設定できるようにし、状態数が多くなりすぎたら例外をスローするように変更

r40 2009-01-28 18:40:58 shimataro

M: 演算子"?"を使って、最短マッチを指定できるようにした

これに伴い、以下の副作用が生じた
M: "nfa.h"を"_regex/"ディレクトリに移動(汎用性を失い、完全に正規表現用のモデルとなったため)
M: "parse_tree.h"を削除し、クラス"mercury::parse_tree"を"_regex/parse_node.h"に移動("nfa.h"の移動に伴う変更)
M: "dfa.h"を削除し、NFA→DFA変換ルーチンを正式にサポートから除外(最短マッチ演算子の導入により、DFAの表現能力を超えたため)
M: 正規表現パターンとテキストによっては、必ずしも最長マッチにならないことがある(例:パターン"aa|a"でテキスト"aa"を検索すると、"a"にマッチする。これは不具合ではなく仕様)
I: 検索速度が向上(全パターン検索を廃止したため)

r39 2009-01-23 18:26:19 shimataro

F: 後方一致の空文字列パターンがテキストにマッチしない不具合を修正("a*$"が"bbbb"にマッチしない等)

r38 2009-01-22 23:10:05 shimataro

M: ストリームイテレータからデフォルトコンストラクタ・比較演算子を削除

r37 2009-01-22 18:43:50 shimataro

F: 繰り返し回数指定({m,n}等)を行った時に構文エラーが起きる不具合を修正
F: マッチングに失敗した時にクラッシュすることがある不具合を修正

↑いずれもリビジョン35の変更の際のデグレード

r36 2009-01-22 18:01:31 shimataro

F: Borland C++ Compilerでコンパイルすると、マッチングのオフセットがおかしな値になることがある不具合を修正
F: ヘルプの更新が、リビジョン35のソースコードと一致しなかった不具合を修正
F: ヘルプの「使い方」で、サンプルコードのコメント位置が一部ずれていた不具合を修正

r35 2009-01-22 12:00:41 shimataro

I: NUL終端文字列を指定したときのパフォーマンスを、それ以外(長さ指定文字列、コンテナ、終端イテレータ指定)とほぼ同じにした

その他、細かい修正

r34 2009-01-16 18:50:50 shimataro

A: ヘルプファイルに「使用上の注意」を追加

r33 2009-01-15 22:42:20 shimataro

version 0.3.0.0
A: Borland C++ Compiler 5.82に対応
A: 以下の特殊文字を追加
* エスケープシーケンス"\u", "\U", "\l", "\L", "\d", "\D", "\s", "\S", "\w", "\W", "\a", "\r", "\n", "\f", "\t", "\e"
* 行頭および行末にマッチするメタ文字"^", "$"
* 上記追加に伴い、パターンの先頭に"^", 末尾に"$"がない場合は部分一致検索を行うように変更
M: マッチング関数 regex::match() で、マッチング情報を得られるようにした
M: コンストラクタ以外でパターンのコンパイルを行えるようにした(関数 compile() および演算子 operator= を追加)
M: ソースファイルとヘルプファイルを別ディレクトリに分離

r32 2009-01-15 22:35:12 shimataro

version 0.3.0.0
* リビジョン: 18~31までの変更を統合

r31 2009-01-15 19:01:35 shimataro

M: NFA, DFAの状態型(state_t)を、uintptr_tからsize_tに変更
M: mercury::basic_regex::MATCH_INFO<>のテンプレートパラメータを省略不可に変更
M: mercury::basic_regex::match()に使うMATCH_INFO<>をテンプレートとして指定するように変更

※今回の仕様変更により、Borland C++ Compiler 5.82に対応。

r30 2009-01-14 19:04:35 shimataro

R: NFAの遷移マップ用クラスを新たに作成(実装はこれまで通りstd::map<>だが、ε遷移やデフォルト遷移もまとめて扱えるようにした)

r29 2009-01-13 20:45:14 shimataro

F: "regex.h"中のコメントを修正
M: ヘルプの「使える文字型・データ構造」を加筆修正
M: ヘルプのサンプルコードを少し修正

r28 2009-01-12 13:39:28 shimataro

A: エスケープシーケンス"\a", "\r", "\n", "\f", "\t", "\e"を追加
M: ヘルプファイルを一部加筆修正

r27 2009-01-12 01:09:26 shimataro

A: エスケープシーケンス"\u", "\U", "\l", "\L", "\d", "\D", "\s", "\S", "\w", "\W"を追加
A: basic_regexのコンストラクタ、operator=, compile(), match()に文字列長を省略して文字配列を指定できるオーバーロード関数を追加(NUL文字を終端とみなす)
R: 字句解析部が長くなったので、複数の関数に分割

r26 2009-01-09 18:28:18 shimataro

M: 使用しているイテレータが入力なのか出力なのかを明確に区別するようにした(今までは全て"_ConstIterator"にしていたが、"_InputIterator", "_OutputIterator", "_InputOutputIterator"の3つを用意した)
A: 正規表現オブジェクトの作成後でもパターンを指定しなおせるようにした

r25 2009-01-08 00:42:30 shimataro

F: G++の警告を回避(_regex::lexerで、メンバ変数の宣言順序と初期化順序が違っていた)
A: MATCH_INFOに、一致部分をコンテナとして取り出せるメンバ関数を追加

r24 2009-01-07 19:58:08 shimataro

F: [^a], [^A-Z]のように、文字および範囲指定の補集合が正しく機能しない不具合を修正
M: マッチング関数 match() から受け取る一致情報を構造体に統合
その他、細かい修正

r23 2009-01-06 20:26:21 shimataro

A: 行頭および行末にマッチするメタ文字"^", "$"を追加
M: 上記追加に伴い、パターンの先頭に"^", 末尾に"$"がない場合は部分一致検索を行うように変更

Show on old repository browser