データスタック

データスタックはForth言語系に特徴的な数値の格納庫です。プログラム中、いつでも使うことができます。一般的なプログラミング言語の局所変数にあたる役割をはたします。格納できる数値(アイテム)の個数に特別な制限はありません(利用できるメモリーの範囲)。

データスタックを使うには数値(リテラル)やオブジェクト名をプログラム中に書くだけで十分です。それらは、書かれた順にデータスタックに格納されていきます。
4 5 2 123 37 \ 実行時にデータスタックには5つの数値が格納されます。

必要なデータが格納されたなら、それらを引数として使用する関数(Forth系では"ワード"と呼びます)を呼び出せば、スタック上のデータは、後から格納したものから順に消費されます。このような取り出し順序は、「最後に格納されたものが最初に取り出される」という意味で、LIFO(Last In First Out)型と呼ばれます。

Mopsプログラミングでも、他のForth系開発環境と同様、データスタックの存在を意識することは重要となります。

データスタックは、パラメタースタックとも呼ばれます。また、単に"スタック"といえば、普通、データスタックを指します。

データスタックには、整数スタックと浮動小数点数スタックがあります。PowerMopsではこれらを別々のスタックとして実装しています。68k Mopsは特別に浮動小数点数スタックは持たないようです。68k および32ビットPowerPCでは、整数データスタックは常に32ビット幅です。PowerMopsの浮動小数点数スタックは64ビット幅です。

68k Mops環境では浮動小数点数を利用するには浮動小数点数ライブラリファイルをロードする必要があります。PowerMopsでは浮動小数点数スタックは常駐していますが、Mopsウィンドウに表示させ、浮動小数点数用ユーティリティーワードを完全に利用できるためには、やはり、浮動小数点数ライブラリファイルのロードが必要です。


関連項目:






最終更新:2018年12月11日 21:28