表 4-9 に、データを辞書へコンパイルするためのコマンドを示します。
表 4-9 辞書コンパイルコマンド
コマンド |
スタックダイアグラム |
説明 |
---|---|---|
, |
( n -- ) |
数値を辞書に入れます。 |
c, |
( byte -- ) |
1 バイトを辞書に入れます。 |
w, |
( word -- ) |
16 ビット数値を辞書に入れます。 |
l, |
( quad -- ) |
32 ビット数値を辞書に入れます。 |
[ |
( -- ) |
解釈を開始します。 |
] |
( -- ) |
解釈を終了し、コンパイルを再開します。 |
allot |
( n -- ) |
辞書に n バイトを割り当てます。 |
>body |
( xt -- a-addr ) |
実行トークンからデータフィールドアドレスを見つけます。 |
body> |
( a-addr -- xt ) |
データフィールドアドレスから実行トークンを見つけます。 |
compile |
( -- ) |
次のワードを実行時にコンパイルします。 |
[compile] name |
( -- ) |
次の (すぐ次の) ワードをコンパイルします。 |
forget namep |
( -- ) |
指定されたワードとそれ以降の全ワードを辞書から削除します。 |
here |
( -- addr ) |
辞書の先頭アドレス。 |
immediate |
( -- ) |
最後の定義を即値としてマークします。 |
to name |
( n -- ) |
defer ワードまたは value に新しい処理を実装します。 |
literal |
( n -- ) |
数値をコンパイルします。 |
origin |
( -- addr ) |
Forth システムの開始アドレスを返します。 |
patch new-word old-word word-to-patch |
( -- ) |
old-word を word-to-patch の new-word に置き換えます。 |
(patch |
( new-n old-n xt -- ) |
old-n を xt によって示されるワードの new-n に置き換えます。 |
recursive |
( -- ) |
辞書内のコンパイル中のコロン定義の名前を表示可能にし、したがって、そのワードの名前をそれ自身の定義内で再帰的に使用可能にします。 |
state |
( -- addr ) |
コンパイル状態のゼロ以外の変数。 |