-
Notifications
You must be signed in to change notification settings - Fork 3
/
README.txt
173 lines (107 loc) · 5.55 KB
/
README.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
---------------------
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 れんらくさき
ご意見、ご要望、ご苦情はこちらのメールアドレスへお願いします。
また、一時配布先は
http://www.namikilab.tuat.ac.jp/~sasada/
のどこかにあると思います。
なお、本プログラムは、並木研究室とは、あまり関係がありません。
ささだの趣味です。
だけど、上に述べたとおり、研究で利用するかもしれません。
しないかもしれません。