- 追加された行はこのように表示されます。
- 削除された行は
このように表示されます。
!!!プログラム配列を走査する
コード化されたプログラム配列prog[]をもとに、プログラムを実行するには、、
*現在位置のコードを得る
*コードによって処理を振り分ける
*最初に戻る
コードとしては、以下のようになる
void proc_prog(void)
{
while (prog[prog_cnt] != CODE_END) {
switch (prog[prog_cnt]) {
case CODE_PUSH:
/* pushの処理 */
break;
case CODE_PLUS:
/* plusの処理 */
break;
case CODE_PRINT:
/* printの処理 */
break;
}
}
}
ただスイッチ文で振り分けただけの構造である。
ところで、コードにはマクロ名を付けた。
#define CODE_END 0
#define CODE_PUSH -1
#define CODE_PLUS -2
#define CODE_PRINT -3
である。
[[戻る|ForthImplementation]] [[前へ|RunningForth?]] [[次へ|RunningPushStack]]
{{adsence}}
[[Forthを作ってみる / プログラム配列を走査する]]に移動しました。