/memo/
Pythonのregexprの移植を大体終了…と。あと、ささやかにマルチバイト対応。
re.match("あ+b","ああb"); // マッチする
これだけなんだけど。正規表現のマルチバイト対応のしかたはわかるんだけど、どういう表記にしたら使いやすいかがわからないんだよねぇ。
ぱっと思い付くのが、
[あ-ん]
こういうのなんだけど、これだと、ひらがなはいいとして、漢字にしたときも文字コード順を覚えとかないといけなくなるような。で、
[:printm:] // 印字できる文字(マルチバイト含む)とマッチ
これだと、各種演算子とか、記号とかも混ざっちゃうので、厳しい。かといって、:kanji:とか作っちゃうのも問題だしなぁ…
やりたいことは、識別子文字([_a-zA-Z0-9])と漢字を混ぜれるようにしたいっていうだけなんだけど。ああ、そうか、どうせ、それにしか使わないんだから、そういう文字クラス作っちゃえばいいのか。[:multiident:]みたいな。
まあ細かいのはいいか。とりあえず、実装方法は見えた。いや、簡単じゃない。今調べたらPythonの正規表現は多分[:hogehoge:]をサポートしてない…むむむ…
TODO: 読み込みストリームと字句解析と正規表現の完成。