-
Notifications
You must be signed in to change notification settings - Fork 3
JavaVM on Ruby
License
koichiro/rava
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
--------------------- Rava / JavaVM on Ruby written by K.Sasada --------------------- ------------------------ ----------------------- ■ 1 - Rava / JavaVM on Ruby - Tue, 15 Oct 2002 09:47:06 +0900、初稿。 □ 1.1 なんじゃそりゃ Ruby で書いた JavaVM です。JRuby ってあるじゃないですか。あれは、Java で Ruby インタープリタ動かすやつですけれども、これは、Ruby で Java バイ トコードを動かします。 どう考えても、使う利点って(殆ど)無いような気もしますが。 誰か考えてそうで、だけど(その無意味さに)誰も作っていなかった(一応、Google 様は知らなかった)。 まぁ、ジョークの一つとしてご笑覧ください。 □ 1.2 つかうとうれしいひと どんな人が使うとうれしいかと申しますと。 - JavaVM 勉強したいけど、ドキュメント読むの面倒だなぁ、Ruby ソースのほうが、読むの楽だしぃ、という人(いるんかそんなの) - もう、Ruby しか使いたくないけど、しょうがなく Java を使う人 (うれしいのかほんとに) 少しまじめに(必死に利点を考えて)、 - Java ネイティブメソッドを書きたいけれど、プロトタイプを作りたい (Ruby スクリプトでネイティブメソッドかけるので、プロトタイプを作るのは便利かもしれない) でも、たしか JRuby もそういうことできるんだよねぇ、確か。違ったっけ。 Java のプログラムが Ruby から呼べても、そんなうれしいこと無さそうな気が するしなぁ。 □ 1.3 もくてき 自分の目的ですが。 - Ruby の練習 - JavaVM の復習 - 今後の研究のため(ほんとか?) - 現実逃避(動機の 50% くらい) □ 1.4 つかいかた まず、jdk とってきて、jdk/jre/lib/rt.jar を解凍して、*.class をばらして ください。固まってると、読めません。 んで、同じディレクトリに 例えば java/lang/* を置いておきます。そんで、 適当に動かしたいものを javac で作ってください。あとは動かすだけです。 > ruby rava.rb [java class name] [args 1] [args 2] ... > で、動きます。多分。 また、 > ruby rjclass.rb [java class name] > で、クラスファイルの情報を、これでもか、ってくらい表示します。ちょっと いいかげんだけど。 また、 > ruby rjnative.rb [java class name] > で、ネイティブメソッド定義用の雛を吐きます。 □ 1.5 だうんろーど [[http://www.namikilab.tuat.ac.jp/~sasada/prog/raja001.lzh]] Windows2000 Pro / ruby 1.6.7 mswin版 だけで動作確認しています。 □ 1.6 おやくそく Ruby と同じライセンスでお願いします。(と言っておくと、面倒がないらしい )。 原則、私に迷惑がかからないように。あとは好きにしてください。 バグ報告とか、利用報告とかあると、うれしく思います。 あ、著作権は放棄しません。というか、できません? □ 1.7 もうできてること とりあえず並べてみました。 - バイトコード半分くらい? - メソッド呼び出し - スタティックメソッド呼び出し - フィールド読み書き - スタティックフィールド読み書き - ネイティブメソッドを ruby で書き書き - クラスの解釈・表示 - 継承・ポリモフィズムの実現(メソッド呼び出しで出来上がってるってことだけど) □ 1.8 まだできてないこと とりあえず、まだたっくさんあります。 - バイトコード半分くらい? - スレッド - うごかないネイティブメソッドがごろごろ - ネイティブメソッドのも〜っと簡単な追加 - jar アーカイブから直接クラスをロード - 完璧なコード(バグが結構ありそう) - 速さ(おせー・・・) - テスト(どーやって作ればいいんだ、こんなものに) - すてきな名前(Rava はかっこわるいぞ) - まだまだありそう □ 1.9 おもうこと Ruby やっぱすごいわぁ。一週間、実質週末3日間だけでこれだけできちゃうん だもんなぁ。 まじめな話、これでVMのナニが研究できるんじゃないかともくろんでます。と りあえず、来年の仕事だけれど、それは。 まぁ、ジョークってことで一つ。 名前。JRuby の向こうを張って、RJava ってしたかったんだけれど、既に、rjava , remote java っていうユーティリティがあるそうで断念。とりあえず Rava。 なんとなく、シムシティーの新聞を思い出しませんか? Ruby と Java 、いったりきたりしてソース書いてると、だめっすね。とりあえ ず Java がかけなくなった。文字列を''で囲んでみたり、';' を忘れてみたり。 拙いソースですが、改善点などあれば、ご教授いただければ幸いです。 ■ 2 れんらくさき ご意見、ご要望、ご苦情はこちらのメールアドレスへお願いします。 [email protected] また、一時配布先は http://www.namikilab.tuat.ac.jp/~sasada/ のどこかにあると思います。 なお、本プログラムは、並木研究室とは、あまり関係がありません。 ささだの趣味です。 だけど、上に述べたとおり、研究で利用するかもしれません。 しないかもしれません。
About
JavaVM on Ruby
Resources
License
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published