ユーザーに関係する変更点 0.5.9-20020822 → 0.5.9-20020901:
ストアの最適化はデフォルトで無効になっていますが、 ユーザーが有効にすることができます(see Store Optimization)。 この最適化に関するドキュメントも新しくなりました。
ユーザーに関係する変更点 0.5.9-20010501 → 0.5.9-20020822:
今やマニュアルがあります(info, HTML, Postscriot, or plain text format)。
vmgen-ex サンプルのバリエーション vmgen-ex2 があります。 vmgen-ex2 では、 多くのキャストの代わりに共用体型(union)が使用されます。
この例の両方のバリエーションは、 ANSI C コンパイラでコンパイルできるようになりました(スイッチ・ディスパッチを使用するため、
パフォーマンスがかなり低下します)。 lcc
でテストしました。
Vmgen の gforth-0.5.9-20010501 バージョンのユーザーが現在のバージョンを使用するには、 あなたのソース・コード内のいくつかの点を変更する必要があります。 変更が完了するまで、 gforth-0.5.9-20010501 バージョンを保持しておくことをお勧めします(あなたは複数のバージョンの Gforth を同時にインストールできることに注意してください)。 今後は、 このような互換性のない変更は避けたいと思っています。
変更が必要な箇所:
TAIL;
¶は INST_TAIL;
に名前変更されました(偶然一致する可能性が低くなります)。
vm_A2B
¶いまや2つの引数を取ります。
vm_twoA2B(b,a1,a2);
¶vm_twoA2B(a1,a2,b) に変更されました(‘;’ が無いことに注意してください)。
また、 INST_ADDR
や LABEL
など、 いくつかの新しいマクロを定義する必要があります。
一部のマクロは新しいコンテキストで定義する必要があります。 たとえば、 VM_IS_INST
は逆アセンブラーでも必要になります。