Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Conklin E.K.Forth programmer's handbook.2000.pdf
Скачиваний:
322
Добавлен:
23.08.2013
Размер:
2.04 Mб
Скачать

APPENDIX B: GLOSSARY & NOTATION

This section describes technical terms and notational conventions used in this manual. Additional notation specific to certain sections is described in those sections.

In this manual, the words “shall” and “must” indicate mandatory behavior. The word “will” indicates predicted or consequential behavior. The word “may” indicates permitted or desirable, but not mandatory, behavior. The phrase “may not” indicates prohibited behavior.

B.1 ABBREVIATIONS

ANS

American National Standard

BCD

Binary Coded Decimal

CPU

Central Processing Unit

H

Hexadecimal (base 16), when used as a subscript

IEC

International Electrotechnical Commission

ISO

International Organization for Standardization

K

1024

LSB

Least-Significant Bit

N/A

Not Applicable

OS

Operating System

PC

Personal Computer

PROM

Programmable Read-Only Memory

RAM

Random-Access Memory

ROM

Read-Only Memory

Glossary & Notation 203

Forth Programmer’s Handbook

B.2 GLOSSARY

address unit

In Standard Forth, the units in which the length of a region of mem-

 

ory is expressed, or the units into which the region is divided for the

 

purpose of locating data objects. These are nearly always bytes, and

 

in this manual will be referred to as simply bytes.

aligned address

The address of a memory location at which a character, cell, cell pair,

 

or double-cell integer can be accessed. For cell-aligned addresses,

 

the address is evenly divisible by the cell size in bytes.

ANS Forth

The Forth programming language as defined by the American

 

National Standard X3.215, 1994.

ASCII string

A string whose data contains one ASCII character per byte. An

 

ASCII string is specified by a cell pair representing its starting

 

address and length in bytes.

big-endian

Describes a CPU’s byte-ordering system in which the highest-order

 

byte of a cell is at the lowest address (i.e., appears first in a data

 

stream). Little-endian is the converse of this. Motorola processors are

 

big-endian and Intel processors are little-endian.

cell

The primary unit of information storage in the architecture of a Forth

 

system. The word length of the processor is always referred to as a

 

cell. This is also the size of an address, and is the size of a single item

 

on Forth’s stacks.

cell pair

Two cells that are treated as a single unit. The cells may contain a

 

double-length number, two related single-length numbers (such as a

 

2-vector), or two entirely unrelated values. In memory, a cell pair is

 

contiguous; the cell at the lower address is the “first” cell, and its

 

address identifies the pair. Unless otherwise specified, a cell pair on

 

the stack has the first cell immediately above the second cell.

character

In Standard Forth, one meaning of this word is the number of

 

address units needed to store a character. In this manual, characters

 

are assumed to occupy one byte each. The length of a character

 

string in bytes is, therefore, equal to the number of characters in it

 

(plus one if it is a counted string—see below).

character-aligned

In Standard Forth, the address of a memory location at which a char-

address

acter can be accessed. In nearly all implementations, a character

 

occupies a single byte and, thus, this will be an arbitrary byte address.

204 Glossary & Notation

 

Forth Programmer’s Handbook

code space

The logical area of the dictionary in which word definitions are

 

implemented.

compile

Transform source code into dictionary definitions.

compilation

The behavior of a Forth definition when its name is encountered by

behavior

the text interpreter in compilation state.

counted string

A data structure consisting of one character containing the length

 

followed by 0–255 data characters. A counted string in memory is

 

identified by the address of its length character.

cross-compilation

Generation of an executable program for a target CPU on a host sys-

 

tem that may be based on a different CPU.

data field

The data space associated with a word defined via CREATE.

data space

The logical area of the dictionary that can be accessed.

data space pointer

The address of the next available data space location. Also called the

 

dictionary pointer. The Forth word HERE returns this value.

data stack

A stack that may be used for passing parameters between

 

procedures. When there is no possibility of confusion, the data stack

 

is referred to simply as “the stack.” Contrast with return stack.

defining word

A Forth word that creates a new definition when executed.

definition

A Forth execution procedure compiled into the dictionary.

dictionary

An extensible structure containing definitions and associated

 

data space.

double-cell integer A double-precision integer, signed or unsigned, occupying two cells. On the stack, the most-significant cell is above the least-significant cell. In memory, the most-significant cell is normally at the lower address, independent of processor type (see big-endian, above). Placing a single-cell integer zero on the stack above a single-cell unsigned integer produces a double-cell unsigned integer with the same value.

exception frame The implementation-dependent set of information recording the current execution state, necessary for exception processing using the Forth words CATCH and THROW.

exception stack A stack used for nesting exception frames. It may be, but need not be, implemented using the return stack.

execution behavior The behavior of a Forth definition when it is executed.

Glossary & Notation 205

Forth Programmer’s Handbook

execution token

A single-cell value that identifies the execution behavior of a

 

procedure. Multiple definitions may have the same execution token

 

if the definitions have equivalent execution behaviors.

flag

A single-cell Boolean true/false value. A word using a flag as input

 

treats zero as false, and any non-zero value as true. A word returning

 

a flag returns either all bits zero (false) or all bits one (true).

immediate word

A Forth word whose compiling behavior is to perform its execution

 

behavior. Commonly used to compile program-flow structures.

input stream

ASCII string data input to the host interpreter. It may come from an

 

input device (such as a keyboard) or from a file. The input stream is

 

the vehicle by which user commands, program source, and other

 

data are provided to the host system.

interpretation

The behavior of a Forth definition when its name is encountered by

behavior

the text interpreter in interpretation state.

keyboard event

A value received by a Forth system as a result of a user action at the

 

user input device. This manual’s use of the word keyboard does not

 

exclude other types of user input devices.

name space

The logical area of the dictionary in which definition names are

 

stored during compilation and testing in the host computer.

number

In this manual, number used without qualification means “integer.”

 

Double number or double-precision number means “double-cell integer.”

parse

To select and exclude a character string from the parse area using a

 

specified set of delimiting characters, called delimiters.

parse area

The portion of the input stream that has not yet been processed by

 

the host interpreter and is, therefore, available for processing by the

 

host interpreter and other parsing operations.

return stack

A stack that may be used for program execution nesting, DO loop

 

execution, temporary storage, and other purposes.

stack

An area in memory containing a last-in, first-out list of items.

Standard Forth

The term used to refer to a Forth system that complies with the

 

ISO/IEC 15145:1997 and ANSI X3.215:1994 standards for the Forth

 

programming language.

variable

A named region of data space, located and accessed by its memory

 

address.

206 Glossary & Notation

Соседние файлы в предмете Электротехника