11. GLOSSARY NOTATION 11.1 Order The glossary definitions are grouped by similar function. The file "doc/glossary.index" contains an index which is sorted in several different ways. It may prove useful in locating a particular definition. 11.2 Capitalization Word names are capitalized in the glossary to make them stand out. However, in actual use, the word names should be typed in lower case. 11.3 Stack Notation The stack parameters input to and output from a definition are described using the notation: before -- after before stack parameters before execution after stack parameters after execution In this notation, the top of the stack is to the right. Words may also be shown in context where appropriate. Unless otherwise noted, all stack notation describes what happens at execution time. If it applies at compile time, the line is followed by: (compiling) . 11.4 Attributes Capitalized symbols indicate attributes of the defined words: C The word may only be used during compilation of a colon definition I Indicates that the word is IMMEDIATE and will execute during compilation, unless special action is taken. M This word has potential multiprogramming impact. See: "9.7 Multiprogramming Impact" U A user variable. H Indicates that the word is "hidden', in other words it is not intended to be called by user programs, but is used only to implement some other word. Its definition is provided for reference only. E The word is part of the "extended stack" proposal. This proposal extends the definition of Forth in a compatible fashion to 32 bit machines. F83 The word appears in the public domain F83 model, from which this system is loosely derived. Local The word is a local extension. It may or may not appear in any other Forth system. 11.5 Serial Numbers The number 79 indicates that the word was part of the Forth 79 standard. The number 83 indicates that the word either first appeared in the 83 standard, or that it appeared also in the 79 standard, but was substantially altered for the 83 standard. 11.6 Pronunciation Then natural language pronunciation of word names is given in double quotes (") where it differs from English pronunciation. 11.7 Stack Parameters The Forth 83 standard specifies that the stack contains 16 bit integers. This is unacceptable for many machines which can easily perform operations on 32 bit data and addresses. This Forth system can be compiled to use either 16 or 32 bit stacks. There is very little advantage in using 16 bits, and much advantage to 32 bits. A proposal for compatibly extending the standard to cope with 32 bit machines has been published. This proposal names a stack item a "normal". A "normal" is the same width as the stack, either 16 bits or 32 bits. Unless otherwise stated, all references to numbers apply to "normal" numbers. The implied range of values is shown as {from..to}. The content of an address is shown by double braces, particularly for the contents of variables, i.e., BASE {{2..72}}. The following are the stack parameter abbreviations and types of numbers used throughout the glossary. These abbreviations may be suffixed with a digit to differentiate multiple parameters of the same type. Stack Number Range in Minimum Abbrv. Type Decimal Field flag boolean 0=false, else=true normal true boolean -1 (as a result) normal false boolean 0 normal b bit {0..1} 1 char char {0..127} 7 8b 8 arbitrary bits not applicable 8 16b 16 arbitrary bits not applicable 16 32b 32 arbitrary bits not applicable 32 n number (normal) {-32,768..32,767} 16 or {-2,147,483,648..2,147,483,647} 32 +n positive number {0..32,767} 16 or {0..2,147,483,647} 32 u unsigned number {0..65,535} 16 or {0..4,294,967,295} 32 addr address {0..65,535} 16 or {0..4,294,967,295} 32 l long {-2,147,483,648..2,147,483,647} 32 +l positive long {0..2,147,483,647} 32 ul unsigned long {0..4,294,967,295} 32 sys 0, 1, or more system dependent stack entries not applicable na Any other symbol refers to a "normal", the same as n above. 11.8 Input Text An arbitrary FORTH word accepted from the input stream. This notation refers to text from the input stream, not to values on the data stack. Such a word never contains blank characters. ccc A sequence of arbitrary characters accepted from the input stream until the first occurrence of a specified delimiting character. The delimiter is accepted (removed) from the input stream, but is not one of the charcters ccc and is therefore not otherwise processed. This notation refers to text from the input stream, not to values on the data stack. Unless noted otherwise, the number of characters accepted may be from 0 to 255. 11.9 References to other words and definitions Glossary definitions may refer to other glossary definitions or to definitions of terms. Such references are maed using "See:". References enclosed in quotes refer either to definitions of terms in the Forth 83 Standard, or to sections thereof. Due to the authors finite patience, the entire Forth 83 Standard has not been typed in, only the glossary portion. Sorry.