614 Appendix
(-) (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).
EXAMPLE5
AB3 SAM Baker Instruction_ set input-register 13-BABBREVIATION
If there is no chance for ambiguity, phrase-names may be written with a space instead of the space-concatenation mark (_ ).EXAMPLE
skip condition = skip_ conditionABBREVIATION
If 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.COMMENT
This 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.EXAMPLE
data-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
S(v ;v...)
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.
EXAMPLE
Memory.primary is an abbreviation forMemory(function: primary)
ABBREVIATION
An intervening period may be dropped if no ambiguity results.EXAMPLE
Mp is the same as M.pMprimary is the same as M.primary though poor taste
COMMENT
Compound 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. Numbers
11.1 number : = number-name÷
number-variable÷
number ¯
base÷
arithmetic-expression ÷ count-expression
number-name : = integer ÷
decimal
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...÷
arithmetic-function(number-list)
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