トップ 差分 一覧 Farm ソース 検索 ヘルプ RSS ログイン

Forthを作ってみる / プログラム配列を走査する

プログラム配列を走査する

コード化されたプログラム配列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

である。

戻る 前へ 次へ