PostScript のバイナリ化の話の続き
id:yshl:20070327:1174995564 のお返事をいただきました。
3番目も典型的な「やばい正規表現」になってました。他のエスケープも考慮すると、多分一番内の(?:)を単に(?:[^()\\]|\\.)+にするだけでよさそうな気がしますがどうでしょう。
http://www.nmt.ne.jp/~ysas/diary/?200703c&to=200703272#200703272
なぜ元の正規表現では遅くなるのかということも、私はよく理解していないので、お任せします。
1番目なんですが、まじめにPSパーサを作る気はなかったので対応予定なしです。
まあゴルフ用ですから。
true/falseや浮動小数のバイナリ化をさぼっているとか、削れる空白を削り損ねるとか
true や false もバイナリ化できるのですね。削り損ねの空白の方も合わせて、エディタでいじってみたら、bracket matching と prime numbers が短くなりました。