Perlの正規表現No.00071
アルビレオ さん 03/05/22 06:26
 
アルビレオです。

遅くなりましたが、ohzakiさんの
http://www.maruo.co.jp/hidesoft/2/x14705_.html#14722
に対する返信です。

>捕らえ方が逆になっています.
>Perl の (?{code}) や (??{code}) は perl5.6以降で使えるようになった正規表現の
> 1つです.「Perl と同等の正規表現」とした場合にはこれらの正規表現も含まれる
>ことになります.そういう意味で Perl ならば可能だと書きました.

逆になっているとは思いません。
Perlという処理系の中での正規表現の話であればohzakiさんのいわれる通りだと
思いますが、この話題は強調表示で使う正規表現の話であり、Perlの処理系その
ものとは無関係です。
だからたとえば
http://hidemaru.xaxon.co.jp/lib/macro/bregif3a.html
を使って実現できるような、Prel互換ではあるが、Perl処理系には依存しない範
囲での正規表現の話題であるということは暗黙の前提として話を進めてきたつも
りです。

括弧の入れ子を強調表示するにはどのようにすれば実現するのかという話なのに
Perlの処理系をほとんど組み込まなければ実現できないような「正規表現」を持
ち出すのは、あまりにも非現実的でわざわざ断る必要もないと考えていました。

Perlの話を持ち出すなというつもりはありませんが、秀丸でどうやって実現する
かという話を離れて、(処理系込みの)Perlの正規表現なら可能だという話なら、
はじめにそういってからにしてほしかったなぁ、と。
ほんとは「Perlの正規表現はあまりにもPerlに密着しすぎている。Perlの外での
正規表現の話をしているのに処理系もひっくるめた正規表現を持ち出さないで欲
しい」と書こうと思いつつ、わざわざ書かなくても気付いてくれると思って控え
ました。
(ぶっちゃけ、Perlの布教が目的ならそれとわかるようにしろと書きたかった)

>これらの正規表現を実現するためには,Perlそのものを実装するのに等しいというの
>は間違いありませんが,code の部分で秀丸のマクロが書けるとなれば面白いかもし
>れませんね.

これはこれで面白いと思いますが、そこまでやるならEmacsのようにエディタそ
のものがスクリプトで構成されていたほうがよっぽどすっきりしてカスタマイズ
もやり放題でかっこいいじゃないですか。
秀丸を拡張する案としては規模が大きいわりには実現できることが中途半端です。
作ってみませんか?『TextEditor by Perl』(・∀・)

ちょっと乱暴な書き方もしてますが、Perlの話としては楽しかったです。
私の誤解があるようなら指摘をお願いします。異論、反論も。

[ ]
RE:00071 Perlの正規表現No.00072
Arimac さん 03/05/22 09:15
 
補足すると秀丸エディタのマクロには演算子++や--や三項演算子も
ないし、ユーザー定義の関数もないのでcodeに秀丸のマクロコード
が書けたとしても不可能だと思います(^^;
やはりPerlだからできるのだと思いますよ(^^;

[ ]