「主人公」という意味で「物語のヒロインは~」とはよく言うのに、「この作品のヒーローは~」という使い方は聞いたことがない。ヒーローだとどうしても「英雄」という意味が(日本人には)強いからか。
ヒロインから「e」を取るとヘロインか。恐いな。heroine.
あまり取り上げられていないのでメモ。
例えば文字列「kumono-mukou」にパターン「kumono-(muko)?(mukou)?」をぶつけてみる。eregは「kumono-mukou」を返し、preg(_match)は「kumono-muko」を返す。
POSIXなeregは「最左最長」を求めるので、例え貪欲な量指定子(基本的には「有り」「出来るだけ多く」として進めていく)をもつ「(muko)?」を通過して、「kumono-muko」までは決定しても(残ってるのは最後の「u」だけだ)、「『(muko)?』は『?』なんだから、『無し』の場合もあるんだよな。試してみた方が良いかも」と律儀に確かめてくれる。
pregは従来型NFAなのでそこまではしない。最後に残った「u」に「(mukou)?」はマッチしない、と判断してそこで終了だ。「kumono-(muko)??(mukou)?」と無欲な量指定子を使えば「とりあえず、(muko)?はスキップして(mukou)?を試してみよう」となるので、「kumono-mukou」までマッチすることも出来る。ちなみに、eregでは「??」は使えない。無欲な量指定子はPOSIXとは相反するからだ。
eregは律儀に全てのパターンを調べようとするので、曖昧なパターンを与えるとかなり時間がかかってしまう。pregは1つマッチ結果を見つければそこで満足するので、マッチする内容が有れば速い(もっとも、どうやってもマッチしない場合はeregと同じぐらいバックトラックすることになるが)。曖昧なパターンとは組み合わせが多いパターンだ。量指定子の組み合わせによっては平気で「溝」の桁までバックトラックの数が増えるので、eregを使う際は注意が必要だ。
関係ないが、「非決定性有限オートマトン」という響きが格好いい。「強行偵察型非決定性有限オートマトン」とか、そんな感じがする。
他にも有ったような気がするんだけど、思い出せず。どれか1つにハマって答えの出ない問答に陥った人は他の作品も見てみるとさらに混乱できる。機械に意識はある? 記憶と自我との関係は? 意識のありかは? 意識は本当に自分の物? この世界は小説じゃないの? 平行世界? 考えれば考えるほど分からなくなっていく。
たとえば他我問題や量子力学は、もちろん真面目な学問として色々な文章が存在するが、こういった物語を読んで悶々とするのも楽しい。悩んでも答えが出ないような話ばかりなので、混乱するきっかけとしては十分だと思う。