OONCPの続き

class:character ; クラス名を記述。ここからクラス定義が始まる。
number:15 ; このクラスのインスタンスが、いくつまで作れるか。領域確保のため。
          ; 省略すると、1か、objectパラメータで指定した数になる。
object:rena,mion,satoko,rika,sion,keiichi,satoshi,tie,irie,tomitake,oisi,takano,kasai
; 生成するオブジェクトの名前(numalias)。
; numberパラメータを省略すると、このobjectパラメータで指定した数だけ領域確保を行う。
; 名前のないオブジェクトにはクラス名+番号の名前をつける。名前つきオブジェクトはこのナンバリングから外される。
menber:x,y,z,parent ; このクラスのオブジェクトが持つメンバー変数。数値のみ。実際には配列変数として実装される。
; 変数名がnumaliasとして定義されるため、アクセスにはnumaliasを使う。
extend:layer ; 継承するクラス名を記述。多重継承あり。
method:emote ; メソッド名を記述。ここからメソッド定義が始まる。
             ; メソッド定義がクラス定義の中にあれば、それはそのクラス固有のメソッド。なので使用する時は第一引数にオブジェクトを与えなければならない。
             ; クラス定義の外にあれば、それは汎用のメソッドで、第一引数にオブジェクトを与えてはならない。
arg: ; そのメソッドの先頭で行われるgetparamの引数。記述の順番が守られる。変数の型も記述。また、ローカル変数として定義される。
script ; そのメソッドで実際にどんな処理をするか、メインルーチンを以下の行に記述。
       ; NScriptで記述するが、変数名は大幅に省略記述できる。
       ; 使われた変数(と思われる物)はローカル変数として登録される。
scriptend ; スクリプト定義終了
methodend ; メソッド定義終了
classend ; クラス定義終了

こんな感じでクラス定義書書いて、NScriptに変換したい。