Next: , Previous: , Up: Gforth locals   [Contents][Index]


6.22.1.1 Locals definitions words

このセクションでは、 ローカル変数を定義するために使用されるワード群を説明します。 注意: ローカル変数を定義するワード(W: など)の実行時は、 右端のローカル変数定義から左端のローカル変数定義の方向で実行され、 右端のローカル変数がスタックのTOSから得る事になることに注意してください。

{: ( – hmaddr u latest latestnt wid 0  ) local-ext “open-brace-colon”

ローカル変数定義の開始。

-- ( hmaddr u latest latestnt wid 0 ... –  ) gforth-0.2 “dash-dash”

ローカル変数定義中の -- から :} までのすべてが無視されます。 これは通常、 ローカル変数定義をスタック効果の説明としても使えるよう、 一人二役の役割を持たせる場合に使います。

| ( ) gforth-1.0 “bar”

| の後ろで定義されたローカル変数はスタックから初期化されません。 したがって、 W: のようなワードの実行時のスタック効果は ( -- ) に変わります。

:} ( hmaddr u latest latestnt wid 0 xt1 ... xtn –  ) gforth-1.0 “colon-close-brace”

ローカル変数定義の終了。

{ ( – hmaddr u latest latestnt wid 0  ) gforth-0.2 “open-brace”

ローカル変数定義を開始します。 このワードの Forth-2012 標準名は {: です。

} ( hmaddr u latest latestnt wid 0 xt1 ... xtn –  ) gforth-0.2 “close-brace”

ローカル変数定義を終了します。 このワードの Forth-2012 標準名は :} です。

W: ( compilation "name" – a-addr xt; run-time x –  ) gforth-0.2 “w-colon”

valueフレーバーのセル・ローカル変数 name を定義します ( -- x1 )

WA: ( compilation "name" – a-addr xt; run-time x –  ) gforth-1.0 “w-a-colon”

varueフレーバーのセル・ローカル変数 name を定義します ( -- x1 )

W^ ( compilation "name" – a-addr xt; run-time x –  ) gforth-0.2 “w-caret”

variableフレーバーのセル・ローカル変数 name を定義します ( -- a-addr )

D: ( compilation "name" – a-addr xt; run-time x1 x2 –  ) gforth-0.2 “d-colon”

valueフレーバーの2倍長整数ローカル変数 name を定義します ( -- x3 x4 )

DA: ( compilation "name" – a-addr xt; run-time x1 x2 –  ) gforth-1.0 “w-a-colon”

varueフレーバーの2倍長整数ローカル変数 name を定義します ( -- x3 x4 )

D^ ( compilation "name" – a-addr xt; run-time x1 x2 –  ) gforth-0.2 “d-caret”

variableフレーバーの2倍長整数ローカル変数 name を定義します ( -- a-addr )

C: ( compilation "name" – a-addr xt; run-time c –  ) gforth-0.2 “c-colon”

valueフレーバーの char ローカル変数 name を定義します ( -- c1 )

CA: ( compilation "name" – a-addr xt; run-time c –  ) gforth-1.0 “c-a-colon”

varueフレーバーの char ローカル変数 name を定義します ( -- c1 )

C^ ( compilation "name" – a-addr xt; run-time c –  ) gforth-0.2 “c-caret”

variableフレーバーの char ローカル変数 name を定義します ( -- c-addr )

F: ( compilation "name" – a-addr xt; run-time r –  ) gforth-0.2 “f-colon”

valueフレーバーの浮動小数点数ローカル変数 name を定義します ( -- r1 )

FA: ( compilation "name" – a-addr xt; run-time f –  ) gforth-1.0 “f-a-colon”

varueフレーバーの浮動小数点数ローカル変数 name を定義します ( -- r1 )

F^ ( compilation "name" – a-addr xt; run-time r –  ) gforth-0.2 “f-caret”

variableフレーバーの浮動小数点数ローカル変数 name を定義します ( -- f-addr )

XT: ( compilation "name" – a-addr xt; run-time xt1 –  ) gforth-1.0 “x-t-colon”

deferフレーバーのセル・ローカル変数 name を定義します ( ... -- ... )

XTA: ( compilation "name" – a-addr xt; run-time ... – ...  ) gforth-1.0 “x-t-a-colon”

addr を使用できる defer フレーバーのローカル変数 name を定義します。

|--:}} は通常、 検索順序スタック(the search order)に含まれないことに注意してください(これらは locals-types ボキャブラリに含まれます)。 そしてこれらは必ずしも全ての Forth システムでワードとして存在しているわけではありません。 したがって、 これらは Gforth のワードとして文書化されています。


Next: Where are locals visible by name?, Previous: Gforth locals, Up: Gforth locals   [Contents][Index]