ABA Games

WabaVMソースの読み方


ここではWabaVMのソースを読む上で知っておくといいことを つらつらと書いています。

ソースファイルの取り方

wabasoftのダウンロードページから、 wabavm-src_10.zipというファイルをダウンロードしてください。

ソースファイルの構成

wabavm-src_10.zipファイルを解凍すると、以下のようなファイルが得られます。

wabavm-src.10 - classes      WabaVMが利用する基本クラス
              - vm           WabaVMのソース
              README.txt     りーどみー
              license.txt    GPLのライセンス

大事なのはvm以下のソースです。ここには以下のファイルが入っています。

nmpalm_a.c   機種依存部ソース Palm用
nmpalm_b.c
nmpalm_c.c
nmport_a.c   機種依存部ソース 移植用スケルトン
nmport_b.c
nmport_c.c
nmwin32_a.c  機種依存部ソース WindowsCE/32用
nmwin32_b.c
nmwin32_c.c
waba.c       機種非依存部ソース VMコア

これを見れば分かりますが、VMのソースは、機種依存する部分と 依存しない部分に明確に分かれています。 依存する部分は、3つのソースに別れていて、それぞれ以下の機能を 受け持ちます。

読みすすんでいくには

VMの動作を知りたい人は、waba.cの中で興味があるところから読んでいくと いいでしょう。クラスのロード方法や、GCの実現、Javaバイトコードの実行など が分かりやすく(たぶん)記述されています。

WabaVMの移植に興味のある人は、nmport_?.cを順番に読むことです。 その後、必要に応じてnmpalm_?.cとnmwin32?_.cをサンプルとして 参照しましょう。どちらを見るかは、その人がどちらのプラットフォームに 慣れているかによると思いますが、どちらにも慣れていない私は palmの方を中心に見ました。こちらのほうが素直なような気がしたので。 ただし、palmはクラスをpalm独自のデータベースから読み出しているので、 そのあたりはwin32の方を見た方がいいかもしれません。


Rerurn もどる