メモリモデル
Standard Forth は Forth システムを、データ空間が管理されメモリワードからアクセス可能ないくつかのアドレス空間からなるものとして考えている。(?1)データ空間内にあるとは限らないメモリは、スタック・コード(コード空間と呼ばれる)・ヘッダ(名前空間と呼ばれる)を含んでいる。Gforth ではすべてがデータ空間内にあるが、プリミティブのコードはしばしば読み取り専用になっている。
Data space is divided into a number of areas: The (data space portion of the) dictionary, the heap, and a number of system-allocated buffers.
Gforth provides one big address space, and address arithmetic can be performed between any addresses. However, in the dictionary headers or code are interleaved with data, so almost the only contiguous data space regions there are those described by Standard Forth as contiguous regions; but you can be sure that the dictionary is allocated towards increasing addresses even between contiguous regions. The memory order of allocations in the heap is platform-dependent (and possibly different from one run to the next).
Footnotes
Sometimes, the term dictionary is used to refer to the search data structure embodied in word lists and headers, because it is used for looking up names, just as you would in a conventional dictionary.
(?1) Memory not necessarily in data space includes the stacks, the code (called code space) and the headers (called name space).