2006年4月15日

[ruby-list:42031] Re: 正規表現のマッチングがフリーズしてしまうコード

木村です。

まつもとさんいつ寝てるんですか?(^^;
#人のこと云えないけど

Yukihiro Matsumoto さんは書きました (2006/04/15 4:37):
> まつもと ゆきひろです
>

> In message "Re: [ruby-list:42029] Re: 正規表現のマッチングがフリーズしてしまうコード"
> on Sat, 15 Apr 2006 04:21:38 +0900, KIMURA Koichi <kbk@xxxxx> writes:
>
> |まつもとさんの挙げられた「詳説 正規表現」の 7.8.1 とか
> |6.1.4 あたりが参考になると思います。7.8.1にあるような
> |正規表現がRubyでも書けるといいんですけどね。
>
> 7.8.1の正規表現って何だっけ。手元に本がないんで。中国に持っ
> てこれるはずないけど。えーと、会社に置いてたんだっけなあ。
>
> あ、もしかして「コードを埋め込んだ正規表現」かな。これは採用
> する予定はないです。せっかくの正規表現ライブラリをRubyべった
> りにするのはやりたくないんで。

はい。出だしはふつう(?)の書き方ですが、??{} でコードを
埋め込むことによって再帰的に記述するというやつですね。

で、「書けるといいな」というのは今回の例ではという話であって、
採用してほしいという意思表示ではないです。おっしゃる通り
ライブラリが言語処理系により深く関わることになりますので。

#ただそれいい始めると、名前によるキャプチャはどうなのよ
#という気がしないでもないんですが

ただ、Perl 6のルールもいい加減処理系べったりな仕様に見えて
互換ライブラリ作る人(いれば、ですが)は大変だなあと思います。

> そういう目的にはパーザジェネレータを使うべきだと思います。

はい。正規表現でごちゃごちゃやるよりはわかりやすくなると
思います。件の正規表現は一見してよくわからなかったので
EXTENED 表記にしてスペースや改行を入れまくってようやく
把握できましたし(^^;

> もっ
> と小規模なパターンに使いやすい(正規表現程度に)パーザジェネレー
> タが欲しいって話だとすると、私も欲しいです。誰か作ってくれな
> いかなあ。うまいことできたら、正規表現がテキスト処理を変えた
> のと同じくらい世界が変わるかもしれません。

これは興味深い話ですね。
今のところいいアイデアは持ち合わせていませんが。

--
木村浩一
I thought what I'd do was, I'd pretend I was one of those deaf-mutes.
mail kbk at kt.rim.or.jp
web www.kt.rim.or.jp/~kbk/index.html#zakkicho
homepage3.nifty.com/farstar/


投稿者 xml-rpc : 2006年4月15日 04:53
役に立ちました?:
過去のフィードバック 平均:(0) 総合:(0) 投票回数:(0)
本記事へのTrackback: http://hoop.euqset.org/blog/mt-tb2006.cgi/41887
トラックバック
コメント
コメントする




画像の中に見える文字を入力してください。