Forth-2012 標準では、 Gforth のローカル変数の制限付きバージョンであるローカル変数構文が定義されています:
{:
〜 :}
)は 1 つだけです。
標準 Forth ローカル変数ワードセット自体は {:
と 以下の 2 つのワードで構成されます:
(local)
( addr u – ) local “paren-local-paren”
ANS Forth ローカル変数拡張ワードセット(ANS Forth locals extension wordset)は locals|
を使用して構文を定義しますが、 これはとても酷い代物なので、 使用しないことを強くお勧めします。 Gforth
への移植を容易にするためにこの構文を実装しましたが、 ここでは文書化しません。 この構文の問題は、
ローカル変数が標準のスタック・コメント表記とは逆の順序で定義されているため、 プログラムが読みにくくなり、
読み間違いや書き間違いが起こりやすくなることです。 この構文の唯一の利点は、 ANS Forth
ローカル変数ワードセットを使用して実装が簡単であることですが、 {:
構文だって同じくらい実装は簡単ですからね?