[#20227] dyna_vars problem? — Tanaka Akira <akr@...17n.org>

しばらく前から、稀に Ruby が core を吐くという問題を追いかけているので

15 messages 2003/05/19
[#20234] Re: dyna_vars problem? — matz@... (Yukihiro Matsumoto) 2003/05/19

まつもと ゆきひろです

[#20236] Re: dyna_vars problem? — Tanaka Akira <akr@...17n.org> 2003/05/19

In article <1053363181.529491.30320.nullmailer@picachu.netlab.jp>,

[ruby-dev:20274] Re: /()*\1/ =~ ""

From: kkosako@...
Date: 2003-05-22 06:01:26 UTC
List: ruby-dev #20274
> -----Original Message-----
> From: Tanaka Akira [mailto:akr@m17n.org]
> ...
> 基本的には全部試すことになります。
> ただ、本当に全部試すと無限ループになることがあるので、それを検査する必
> 要があって、そこが微妙です。
> 
> その検査は、繰り返しを一回進めて状態が変化しない場合はそれ以降は試さな
> いというのが基本的な条件になります。たぶん。
> 
> ここで、状態というのは、
> 
> (1) マッチにおける現在位置
> (2) capture した場所の開始・終了位置
> 
> というのの直積です。

captureの状態については、各captureについて1bitで済むような気がします。
  0: マッチしていない or 空以外にマッチしている 
  1: 空にマッチしている

繰り返しごとに、対象となっているすべてのcaptureに対して、
0 -> 1 の遷移が起きたかどうかチェックすれば十分?
(あまり自信はないですが)
--
小迫@出向中

In This Thread

Prev Next