previous | contents | next

Appendix 609

COMMENT Note that we have used the same variable several times, even though independently selected values are meant at each occurrence. It will always be clear from the context when this is being done.

3. Basic syntax

3.1
An expression is either a name or a sequence of expressions.

3.2 A name is a sequence of characters written without spaces.

3.3 A character is a member of one of the following alphabets:

1 Capital letters A B... Z
2 Small letters a b... z
3 Digits 01.9
4 Marks ÷ ; , : ¬ ® º ¹ Å É V L Ø = ¹ < > £ ³ ? + - ´ / ~ ­ ¯ ð _ . - $ # * ' " Æ F m ( ) [ ] { } á ñ

The characters of each alphabet are ordered as shown, from left (low) to right (high).

3.4 One or more spaces (freely determined) occur between names. The only exceptions are names that are single marks (alphabet 4, above) and can be disambiguated. For these, spaces can be omitted.

EXAMPLES A, B instead of A , b

-3 instead of - 3

(A + B) instead of (A + B)

3.5 Parentheses are used around any expression that would otherwise be ambiguously interpreted. Conversely, parentheses can be dropped whenever there is no possibility of ambiguity.

3.6 To avoid excess parentheses, an order of precedence exists for names used as separators. The higher in the order, the greater the binding power, i.e., the greater precedence in being interpreted first. The following order is consistent with the alphabetical order:

: = ÷ ÷ ; ÷ , ÷ : ÷ ® ÷ ¬ ÷ º ¹ Å ÷ É ÷ V ÷ L ÷ Ø ÷ = ¹ ÷ < > £ ³ ÷ + - ÷ ´ / ÷ ~ ÷ ­ ÷ ¯ ÷ ð ÷ /(abbreviation)_ . - (hyphen)

3.7 Spacing on the page is freely determined (e.g., for legibility). An expression may run freely on several consecutive lines (with no explicit continuation mark).

EXAMPLE z'á 0:11ñ : = (Ø ib ® z"; This ISP expression and also

ib ® M[z"]) this comment are on two lines.

3.8 Subscripting and superscripting may be used interchangeably with the marks ¯ and ­ respectively.

EXAMPLE 10¯ 2 is the same as 102

x ­ 2 is the same as x2

4. Commands: assignment, abbreviation, variables, forms

4.1 If x is a free name [as defined in General Conventions section 10 (GC 10)] and y is any expression, then the command

x : = y

assigns the name x to the corresponding expression y. In particular,

class(x) = class(y)

EXAMPLE BILL : = C(operation-rate: 10 ­ 6 o/s) assigns a name to a particular (partially specified) computer.

4.2 If there are several assignment expressions for a single name x:

x := a

x : = b

etc.; then x is assigned to be the name of the union of all the expressions:

class(x) = union( class(i))

i = a,b, . . .

EXAMPLE M.1 := M(size: 1000 w) and M.1 := M(size: 2000 w) would define M.1 to be memories of either 1,000 or 2,000 words.

4.3 If x is any name and y is any name, then the command

x / y

assigns y to be an abbreviation (a synonym) for x. Abbreviation may occur on any occasion and not just when x is first defined. It may occur as a separate expression or it may occur in an expression in which x occurs, thus establishing the abbreviation in passing. A sequence of abbreviations may be defined in the same expression.

COMMENT The abbreviation may not be a shorter phrase at all, but simply an alternative phrasing (say, one commonly known).

EXAMPLE Memory / M, bit / b, second / sec / s

multiplex / many channeled

COMMENT / is also used for division, but no difficulties arise.

4.4 If x is any name and D is any indefinite expression, then the command

x : = D-variable

previous | contents | next