Forth プログラムを標準プログラムとしてラベル付けしたい場合は、 プログラムがどのワードセットを使用するかを文書化する必要があります。
ans-report.fs ツールを使用すると、アプリケーションでどのワードセットのどのワードが使用されているか、
どの非標準ワードが使用されているかを簡単に判断できます。 チェックしたいプログラムをロードする前に ans-report.fs
をインクルードするだけです。 プログラムをロードした後、 print-ans-report
を使用してレポートを取得できます。
一般的な使用法は、 以下のようにこれをバッチ・ジョブとして実行することです:
gforth ans-report.fs myprog.fs -e "print-ans-report bye"
出力は以下のようになります (compat/control.fs の場合):
The program uses the following words from CORE : : POSTPONE THEN ; immediate ?dup IF 0= from BLOCK-EXT : \ from FILE : (
ans-report.fs は、 Forth-94 と Forth-2012 の両方のワードセットをレポートします。
両方の標準に含まれるワードについては、 接尾辞なしでワードセットが報告されます(例: CORE-EXT
)。 Forth-2012
専用のワードの場合、-2012
接尾辞が付いたワードセットが報告されます(例: CORE-EXT-2012
)。
Forth-94 のみのワード(つまり、Forth-2012 で削除されたワード)についても同様です。
注意: ans-report.fs は、 どのワードが使用されているかをチェックするだけで、 標準に準拠した方法で使用されているかどうかをチェックするわけではないことに注意してください。
一部のワードは、 標準で複数のワードセットで定義されています。 ans-report.fs は、 それらのワードセットのうちの 1
つについてのみレポートし、 それは必ずしもあなたが期待したワードセットとは限りません。 どのワードセットを指定するのが適切かは、
用途によって異なります。 たとえば、S"
のコンパイル機能(compilation semantics)のみを使用する場合、それは
CORE ワードです。 インタプリタ機能(interpretation semantics)も使用する場合、 それは FILE ワードです。