「辞書」にはシステムが備えているすべての Forth コマンドが含まれています。 表 4-8 に辞書検索用のツールを示します。
表 4-8 辞書検索コマンド
コマンド |
スタックダイアグラム |
説明 |
---|---|---|
' name |
( -- xt ) |
指定されたワードを辞書から検索します。実行トークンを返します。外部定義を使用します。 |
['] name |
( -- xt ) |
内部、外部のどちらの定義でも使用される点以外は、' と同じです。 |
.calls |
( xt -- ) |
実行トークンが xt であるワードを呼び出すすべてのワードのリストを表示します。 |
$find |
( addr len -- addr len false | xt n ) |
ワードを検索します。検索できなかった場合 n = 0 、検索できた場合 n = 1、それ以外の場合 n = -1 。 |
find |
( pstr -- pstr false | xt n ) |
ワードを辞書から検索します。検索するワードは pstr です。検索できなかった場合 n = 0、検索できた場合 n = 1、それ以外の場合 n = -1 。 |
see thisword |
( -- ) |
指定されたコマンドを逆コンパイルします。 |
(see) |
( xt -- ) |
実行トークンによって示されるワードを逆コンパイルします。 |
sift |
( pstr -- ) |
pstr によって示される文字列を含むすべての辞書エントリの名前を表示します。 |
sifting ccc |
( -- ) |
指定された文字処理を含むすべての辞書エントリの名前を表示します。ccc 内には空白文字は含まれません。 |
words |
( -- ) |
辞書内のすべての表示可能なワードを表示します。 |
see thisword の形式で使用した場合、see は指定されたコマンドを逆コンパイルします (つまり、thisword を作成するための定義を表示します)。メモリースペースを節減するために内部の名前が PROM のシンボルテーブルから省略されていることがあるため、逆コンパイル結果の定義はときとして不明確なものになる場合があります。
次の画面は sifting の使用例です。
ok sifting input input-device input restore-input line-input input-line input-file ok |
words は、辞書内のすべてのワード (コマンド) 名を最新の定義から先に表示します。