16 The optional Search-Order word set
16.1 Introduction
16.2 Additional terms and notation
- compilation word list:
-
The word list into which new definition names are placed.
- search order:
-
A list of word lists specifying the order in which the
dictionary will be searched.
16.3 Additional usage requirements
16.3.1 Data types
Word list identifiers are implementation-dependent single-cell
values that identify word lists.
Append table
16.1 to table
3.1.
Table 16.1: Data types
|
Symbol | Data type | Size on stack |
|
wid | word list identifiers | 1 cell |
|
|
See:
3.1 Data types,
3.4.2 Finding definition names,
3.4 The Forth text interpreter.
16.3.2 Environmental queries
Append table
16.2 to table
3.4.
See:
3.2.6 Environmental queries.
Table 16.2: Environmental Query Strings
|
String Value data type | Constant? | Meaning |
|
WORDLISTS | n | yes | maximum number of word lists usable in the search order |
|
|
16.3.3 Finding definition names
When searching a word list for a definition name, the system shall
search each word list from its last definition to its first. The
search may encompass only a single word list, as with
SEARCH-WORDLIST, or all the word lists in the search order,
as with the text interpreter and
FIND.
Changing the search order shall only affect the subsequent finding
of definition names in the dictionary. A system with the Search-Order
word set shall allow at least eight word lists in the search order.
An ambiguous condition exists if a program changes the compilation
word list during the compilation of a definition or before
modification of the behavior of the most recently compiled definition
with
;CODE,
DOES>, or
IMMEDIATE.
A program that requires more than eight word lists in the search
order has an environmental dependency.
See:
3.4.2 Finding definition names.
16.3.4 Contiguous regions
The regions of data space produced by the operations described in
3.3.3.2 Contiguous regions may be
non-contiguous if
WORDLIST is executed between allocations.
16.4 Additional documentation requirements
16.4.1 System documentation
16.4.1.1 Implementation-defined options
16.4.1.2 Ambiguous conditions
16.4.1.3 Other system documentation
- no additional requirements.
16.4.2 Program documentation
16.4.2.1 Environmental dependencies
16.4.2.2 Other program documentation
- no additional requirements.
16.5 Compliance and labeling
16.5.1 Forth-2012 systems
The phrase "Providing the Search-Order word set" shall be
appended to the label of any Standard System that provides all of
the Search-Order word set.
The phrase "Providing
name(s) from the Search-Order
Extensions word set" shall be appended to the label of any
Standard System that provides portions of the Search-Order
Extensions word set.
The phrase "Providing the Search-Order Extensions word set" shall
be appended to the label of any Standard System that provides all of
the Search-Order and Search-Order Extensions word sets.
16.5.2 Forth-2012 programs
The phrase "Requiring the Search-Order word set" shall be appended
to the label of Standard Programs that require the system to provide
the Search-Order word set.
The phrase "Requiring
name(s) from the Search-Order
Extensions word set" shall be appended to the label of Standard
Programs that require the system to provide portions of the
Search-Order Extensions word set.
The phrase "Requiring the Search-Order Extensions word set" shall
be appended to the label of Standard Programs that require the system
to provide all of the Search-Order and Search-Order Extensions word
sets.
16.6 Glossary
16.6.1 Search-Order words
16.6.2 Search-Order extension words