AJAJA: Perlモジュールを使えるようにするpmconnectが熱い(かもしれない)
AJAJAのsvnリポジトリに面白いコードが追加されました。pmconnectという新しいモジュールです。
http://ajaja.alphageek.jp/trac/changeset/32
これは、PerlモジュールをAJAJAから利用できるようにする試みのようです。面白いですね。Linuxの環境が手元にないので、まだ試していませんが、CPANモジュールなんかも普通に動作するんじゃないかと期待しています。
ちなみに、pmconnectのC言語に関するソースコードの量は以下の通りです。
% cd src/ajaja/pmconnect % find . -type f | grep -v svn | egrep "\.(c|h)$" | xargs wc -l | sort 18 ./utfutil.h 27 ./utfconv.h 30 ./pmconnect_impl.h 39 ./pmconnect.h 55 ./poprivate.c 62 ./utfutil.c 104 ./pmconnect.c 158 ./pmctest.c 178 ./utfconv.c 269 ./jspl.c 1119 ./pmobject.c 2059 total
pmobject.cは他のソースコードと比べて結構大きいですね。どうやらpmobject.cで、PerlインタプリタとSpiderMonkeyとの橋渡しをしているようです。このソースコードを理解するには、PerlのXSを理解する必要がありそうです。逆に考えれば、XSを勉強する良い機会かもしれません。
jspl.cはAJAJAのssjsと同じようなJavaScriptインタプリタで、異なる所は、
- Perlモジュールの利用をサポート
- コマンドライン引数で指定したJavaScirptファイルの実行のみをサポート(インタラクティブな利用は不可)
- 標準出力にバイナリ出力するprint_binary関数、16進ダンプをするdump関数などの組み込み関数を実装
- AJAJAのSystemモジュール、SQLiteモジュール、JSANなどは利用不可
- SpiderMonkeyを走らせるための必要最低限な実装(シンプル)
所といったところでしょうか。SpiderMonkeyをインタラクティブに利用するのではなく、コマンドライン引数で指定したJavaScriptファイルをSpiderMonkeyで走らせるようなコードを書きたい開発者には、jspl.cは参考になるソースコードだと思います。
あと、pmconnect/scripts/ディレクトリ以下には、Perlモジュールの利用例があるので、興味を持たれた方は、こちらの方も見てみると面白いかもしれません。
- 作者: Tim Jenness,Simon Cozens
- 出版社/メーカー: Manning Pubns Co
- 発売日: 2002/08
- メディア: ペーパーバック
- この商品を含むブログ (2件) を見る