SpiderMonkey を試しに拡張してみた
patch をつくったので、試したい人は以下の操作をしてください。
Mozilla プロジェクトのページから js-1.7.0.tar.gz をダウンロードして展開したあと、この diff ファイルを patch します。
$ tar zxf js-1.7.0.tar.gz $ cp jsx_20081101_1610.diff js $ cd js $ patch -p0 < jsx_20081101_1610.diff
patch をあてたら、make します。
$ cd src $ make -f Makefile.ref
make が終わると、./Darwin_DBG.OBJ に jsx という実行ファイルができます。(Linux の場合、Linux_All_DBG.OBJ かな)
実行すると、こんな感じでシェルが起動します。
$ ./Darwin_DBG.OBJ/jsx jsx>
僕が試しに拡張定義した Hoge オブジェクトを new して、fuga メソッドを呼んでみます。こんな感じになります。
jsx> var hoge = new Hoge(); jsx> hoge.fuga(); fuga!!!