中間コードサイズを小さくしたり処理を速くする、機種依存性のあるテクニックの例
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2022/04/30 02:50 UTC 版)
「BASIC」の記事における「中間コードサイズを小さくしたり処理を速くする、機種依存性のあるテクニックの例」の解説
処理プログラムの大きさや速度の制限を改善あるいは回避するテクニックを紹介する。いくつかは、ソースの読みやすさを犠牲にするようなテクニックでもあった。 プログラムの初めに全ての変数のデフォルトを整数だと宣言する(DEFINT A-Z)。これはきちんと%などを付けて整数変数として書いてあるプログラムでは意味がないし、小数演算があるプログラムなのにこれを書くとまともに動かなくなる。整数の範囲の演算しかしていないが、%を付けずに書かれているプログラムを後から改善する場合だけに意味のあるテクニック。 命令を省略形で書く(PRINT→?、LET A=B→A=B、REM→' など) ただし、中間コードを採用している処理系では、?と入力してもPRINTに展開されるので、結果は変わらない。また、REMを'と書くのはかえってサイズが増える。 余白やコメントを入れない NEXTの変数名を省略する(可能な処理系のみ) 一行に複数の文を詰め込んで(マルチステートメント)を使用して行の制限一杯に命令文を詰め込む よく使う変数は早めに確保する(実行時に毎回変数領域の先頭から検索されるため) よく呼び出すサブルーチンは先頭に配置する(同じような理由。なお、一度通過したGOTO/GOSUB命令のオペランドを内部で行番号からメモリアドレスに書き換える処理系ではあまり効果がない) キャラクタコードをバイナリと見立て、バイナリに相当するデータを直接プログラムに記述する
※この「中間コードサイズを小さくしたり処理を速くする、機種依存性のあるテクニックの例」の解説は、「BASIC」の解説の一部です。
「中間コードサイズを小さくしたり処理を速くする、機種依存性のあるテクニックの例」を含む「BASIC」の記事については、「BASIC」の概要を参照ください。
- 中間コードサイズを小さくしたり処理を速くする、機種依存性のあるテクニックの例のページへのリンク