(-) (hyphen-names). All simple-names function identically: they obtain their designations through assignment (:=) or abbreviation (/). They may thus be definite or indefinite, corresponding to e expressions they name. Any simple-name may be used if it has not already been used for a different expression or is not excluded by number-name or by a previously defined x-name (see below).
EXAMPLE5AB3 SAM Baker Instruction_ set input-register 13-B
ABBREVIATIONIf there is no chance for ambiguity, phrase-names may be written with a space instead of the space-concatenation mark (_ ).
EXAMPLEskip condition = skip_ condition
ABBREVIATIONIf the hyphen-name x-a is used within the scope of the definition of the entity x, then the name may be abbreviated to just a.
COMMENTThis permits the use of the same name in local contexts, where the name of the context (the expression being defined) serves to disambiguate the name where needed.
EXAMPLEdata-type : = .... data-type-component: data-type ...)
data-type : = .... component: data-type ...) alternative form
10.7 compound-name := S.v.v...
where S is an indefinite simple-name and the v are simple-names.
The compound-name has the same designation as
where each of the v's defines a parameter whose attribute may be dropped because the v is self-identifying. Thus a compound-name is an abbreviation technique that constructs a name for an entity by conjoining a series of modifying attribute values to the type of the entity.
EXAMPLEMemory.primary is an abbreviation for
ABBREVIATIONAn intervening period may be dropped if no ambiguity results.
EXAMPLEMp is the same as M.p
Mprimary is the same as M.primary though poor taste
COMMENTCompound names have the desirable feature that the leading symbol (leftmost) gives the kind of entity being designated, e.g., M.primary is a kind of memory.
10.8 number-name. Defined in GC 11.
10.9 x-name. The names to be used in defining an immediate instance of the entity.. If x is any entity and y is any name-expression, such that
x := (x-name: y;...)
then any z which is an instance of x,
z : = x( . . . . .)
must be chosen from the name-expressions defined by y. This holds only for a single level. If w : = z(. . .), then w is not constrained as to the name used.
EXAMPLE component : = (component-name: capital-letter)
M : = component (...) is legal;
SAM : = component(...) is not legal;
SAM := M(...) is legal.
11.1 number : = number-name÷ number-variable÷ number ¯ base÷
arithmetic-expression ÷ count-expression
number-name : = integer ÷
integer-name / integer : = *sign digit-string
recall * means optional
sign := +÷
+ integer-name / + integer : = digit-string includes 0
- integer-name / - integer : = - + integer
decimal-name / decimal : = integer . digit-string
base : = + integer
arithmetic-expression : = unary-arithmetic-operation number ÷
number binary-arithmetic-operation number÷
number n-ary-arithmetic-operation number...÷
unary-arithmetic-operation : = -
binary-arithmetic-operation : = - ÷ / ÷ exponentiation / exp / ÷ modulo / mod
n-ary-arithmetic-operation : = +÷ X
arithmetic-function-operation : = log ¯ 2÷ absolute-value / abs÷ entier ÷ maximum / max÷ minimum / min ÷ average / avg÷ sum÷ product / prod
count-expression: = number(x-set) I number(x-list)
Numbers are defined in the standard way, starting with number-names for integers (1324 or -14) and decimals (13.23). If the base of the number