言語解析(書きかけ)

アドベンチャー用のスクリプト構文解析した結果、
たぶんこんなコードに変換するだろう、という予想のメモ書き。
 

if文

○解析前

if(式){
}

○解析後

if, ifブロックの終端アドレス, 式(, ... , 終端文字)

 

goto文

○解析前

goto *ラベル

○解析後

goto, ジャンプ先のアドレス

 

gosub文

○解析前

gosub *ラベル

○解析後

gosub, サブルーチンのアドレス
※ジャンプ前に現在の実行アドレスをスタックに積む

 

代入式

○解析前

代入される変数 = 代入する変数

○解析後

set, 代入される変数, 代入する変数

 

メッセージ表示

○解析前

"〜〜〜"

○解析後

print, メッセージの長さ, メッセージ本文

 

画像の描画

○解析前

drawChar "apple.bmp", right // apple.bmpを右側に描画

○解析後

drawChar,表示画像,位置

…そのまんまですね(´∀`;