[#44861] Ruby 1.9のARGVのエンコーディング — rubikitch@...

るびきちです。

17 messages 2008/04/26
[#44862] Re: Ruby 1.9のARGVのエンコーディング — Yukihiro Matsumoto <matz@...> 2008/04/26

まつもと ゆきひろです

[#44863] Re: Ruby 1.9のARGVのエンコーディング — "NARUSE, Yui" <naruse@...> 2008/04/26

成瀬です、パッチ用意してから投げようと思ったら出遅れた、

[#44864] Re: Ruby 1.9のARGVのエンコーディング — Yukihiro Matsumoto <matz@...> 2008/04/26

まつもと ゆきひろです

[#44865] Re: Ruby 1.9のARGVのエンコーディング — "U.Nakamura" <usa@...> 2008/04/28

こんにちは、なかむら(う)です。

[#44866] Re: Ruby 1.9のARGVのエンコーディング — "NARUSE, Yui" <naruse@...> 2008/04/28

成瀬です。

[#44868] Re: Ruby 1.9のARGVのエンコーディング — "U.Nakamura" <usa@...> 2008/04/30

こんにちは、なかむら(う)です。

[ruby-list:44852] Re: [Q] Ruby のパーサについて

From: kwa@...
Date: 2008-04-21 14:36:52 UTC
List: ruby-list #44852
桑田です。
斉藤さん、実に興味深い情報ありがとうございます。
$LD_PRELOADは初めて知りました。奥が深いというかなんというか。

> QIQという物は始めて知りました。なんの略か? と思ったのですが、きっと
>   "PHP".scan(/./).map(&:succ).join
> なんでしょうね。

らしいです。しかし拡張ライブラリで本体のパーサを乗っ取るという
アイデアには驚かされました。若い人の発想ってすごい。

--
makoto kuwata


On 4/21/08, Tadashi Saito <shiba@mail2.accsnet.ne.jp> wrote:
> 斎藤と申します。hackyなお話を。
>
> On Sun, 20 Apr 2008 23:43:43 +0900
> "Makoto Kuwata" <kwa@kuwata-lab.com> wrote:
>
> > 予約語を追加するとか、PHP における QIQ のように、拡張ライブラリで
> > パーサ関数を乗っ取るようなことはできないかと考えています。
> > そこで冒頭のような質問をさせていただきました。
>
> もしかしたらご存知の上でメールを投げられたのかもしれませんが、UNIX系OSでは
> $LD_PRELOAD で ruby_yyparse を「乗っ取る」事はできると思います。
> ……という BinaryHacks#60 の超受け売りですが、
>
>   LD_PRELOAD=./myparser.so ruby
>
> で、rubyはlibruby.so以前にmyparser.so内からシンボルを解決しようと
> するので、この中にruby_yyparseを定義して置けば乗っ取れます。
>
> > (初心者にこそ使ってもらいたいパッチなので、導入の敷居をなんとか
> >  下げられないものかと検討しています。)
>
> とのことですが、上記シェルスクリプトを"ruby"として保存し、本物のrubyよりも
> 先の$PATHに置いておけば、透過的に自前パーザを起動できるでしょう。この辺は
> インストール時に仕込めるはずです。
>
> Windowsでの同様の方法は存じませんが、似たようなhackで実現できるかもしれません。
> この場合もやはり、.batを準備するという手段が使える、かもしれません。
>
> 以下は余談ですが、
>
> > 予約語を追加するとか、PHP における QIQ のように、拡張ライブラリで
>
> QIQという物は始めて知りました。なんの略か? と思ったのですが、きっと
>   "PHP".scan(/./).map(&:succ).join
> なんでしょうね。
>
> --
> 斎藤ただし
>
>

In This Thread