pattern_match

case文と組み込みのGLOBルール用にbjamのパターンマッチを実装しました。
bjamで使えるパターンはワイルドカード("*","?")とキャラクタークラス("[a-z]"等)で、一般的な正規表現と表記が異なるためBoost.Regexをそのまま使うことは出来ません。


http://article.gmane.org/gmane.comp.lib.boost.user/5204
のように正規表現に書き直すのでは明らかに無駄っぽいです。
「Boost.Regexローカライズ機能でごまかせないか」とか「Boost.Spiritと動的パーサーでなんとかならないか」とか考えていたんですが、自前で書いても高が知れているのでスクラッチから書きました。


今日の成果物
キャラクタークラスをbitsetで管理している以外は特に見るところはないと思います。
無駄に悩んだせいで全然進んでません。