Forth のワードは、 以下にあるように、 Forth テキストのデファクトスタンダード(事実上の標準)となっている表記にて説明されます:
word Stack effect wordset pronunciation
Description
ワード名。
スタック効果(stack effect)は、 before -- after
という表記で記述されます。
ここで、before と after は、 ワード実行前と実行後のスタック・エントリの頂上部を表します。
スタックの残りの部分にはワードは触れません。 スタックの頂上は右端です。 つまり、 スタック・シーケンスはあなたが入力したとおりに書き込まれます。
注意: Gforth は別個の浮動小数点スタックを使用しますが、 統一されたスタック表記法を使用することに注意してください。 また、
リターンスタック効果は「スタック効果」には表示されませんが、 「説明」(Description)に表示されます。 スタック項目の名前は、
項目の型や機能を説明します。 型の説明については、 下記を参照してください。
すべてのワードには、 コンパイル・モードのスタック効果とインタープリター・モードのスタック効果という 2 つのスタック効果があります。 ほとんどのワードのコンパイル・モードのスタック効果は – です。 ワードのコンパイル・モードのスタック効果がこの標準の振る舞いから逸脱している場合、 またはワードがコンパイル・モードに他の通常でない振る舞いを行う場合、 両方のスタック効果が表示されます。 それ以外の場合、 インタープリター・モードのスタック効果のみが表示されます。
また、 コード・テンプレートまたはサンプルでは、 その時点でのスタックの状態表示するコメントが括弧内にある場合があることにも注意してください。
これらのスタックの状態表示には --
はありません。 なぜなら前・後という状況が無いためです。
ワードの発音
ワードセット(wordset)は、 ワードが標準化されたものか、 または環境クエリ文字列であるか、 または Gforth
固有のワードであるかを指定します。 Gforth 固有のワードの場合、 ワードセット名には文字列 gforth
が含まれており、
他のワードセット名は environment
または標準のワードセット(standard word sets)を参照します。
Forth 標準はいくつかのワードセットに分かれています。 理論上、 標準システムはそれらすべてをサポートする必要はありませんが、 実際には、 組み込み用途な超小型のマシン以外の本格的なシステムは、 ほぼすべての標準化されたワードをサポートします(ただし、一部のシステムでは一部のワードセットを明示的にロードする必要があります)。 そのため、 実際のところはワードセットの使用をケチったところでその分移植性が上がる訳ではありません。
Gforth 固有のワードについては、 以下のカテゴリがあります:
gforth
gforth-<version>
我々はこのワードを Gforth で永続的にサポートするつもりであり、 Gforth <version> 以降で有効です(おそらくその <version> 時点ではサポートされていないワードです)。
gforth-experimental
このワードは現在のバージョンで使用できますが、 永続的なワードになるか、 Gforth の将来のリリースで削除されるか分かりません。 あなたのフィードバックをお待ちしています。
gforth-internal
このワードは内部用であり、 サポート対象のワードではないため、 Gforth の将来のリリースでは削除される可能性があります。
gforth-obsolete
このワードは、 Gforth の将来のリリースでは削除される予定です。
そのワードの振る舞いを説明します。
スタック項目の型は、 以下のように、 スタック項目名のはじめの文字が何であるかによって指定されます:
f
¶二値フラグ(Boolean flags)。 つまり false
または true
c
¶Char
w
¶セル。 整数(an integer)やアドレス(an address)も格納可能。
n
¶符号付き整数
u
¶符号なし整数
d
¶符号付き2倍長整数
ud
¶符号無し2倍長整数
r
¶浮動小数点数(Float)(FP スタック上に置かれる)
a-
¶セル・アライメント・アドレス
c-
¶文字(char)アライメント・アドレス(注意: Windows NT では文字(char)は 2 バイトになる場合があることに注意)
f-
¶浮動小数点数アライメントのアドレス
df-
¶IEEE倍精度浮動小数点数アライメントのアドレス
sf-
¶IEEE単精度浮動小数点数アライメントのアドレス
xt
¶実行トークン(Execution token)。 セルと同一サイズ
wid
¶ワード・リストID。セルと同一サイズ
ior, wior
¶セルサイズの入出力結果コード。 Gforth では iors を throw
できます。
f83name
¶名前構造体へのポインター
"
¶(スタック上ではなく、)入力ストリーム内の文字列。 終端文字はデフォルトでは空白(a blank)です。 終端文字が空白でない場合は、
<>
でクォートして表示します。