0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

forthAdvent Calendar 2024

Day 5

GNU gforth 超初心者が説明を試みる 〜FORGET が無いどうしよう!〜

Posted at

古典的FORTHを触った事があって、 GNU gforth などを使った時に、 困惑するのが FORGET が無い事です。

FORGET は その名の通り「忘れる」ワードです。

forget name

とすると、 name と name 以降に定義したワードを「忘れる」、つまり削除するというものです。

marker

gforth では 代わりに marker を使います。使い方も異なっています。

将来、ここ以降は「忘れたい」ポイントで marker を定義する。

marker my-lib-start

そして、「忘れる」のは

my-lib-start

です。

実際には forth プログラムのファイルをロードするたびに以前定義下同じモノを消すような処理(消さないと二重登録される)のためです

[IFDEF] my-code  ( 既に定義済かどうか?)
my-code          ( 定義済なら「忘れる」)
[ENDIF]

marker my-code   ( ここに来る時はいずれにせよ「無い」か「忘れてる」ので、今後のために「忘れる」時点を marker で登録する)
init-included-files

\ .. definitions start here
\ .
\ .
\ end

ディクショナリへの追加・削除はメモリ上での話なので、 うっかり marker し忘れても一旦 gforth 自体を終了・起動すれば元に戻ります。

今回はここまで。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?