10.07.2015 Views

Algol 68 - ACM Digital Library

Algol 68 - ACM Digital Library

Algol 68 - ACM Digital Library

SHOW MORE
SHOW LESS
  • No tags were found...

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

128 van Wijngaarden, et al.Step 8: If, in any form, as possibly modified or made in the steps above, aroutine-text occurs whose calling involves the manipulation of realnumbers, then this routine-text may be replaced by any other routinetextwhose calling has approximately the same effect {: the degree ofapproximation is left undefined in this Report (see also 2.1.3.1.e)}:Step 9: In the case of an EXTERNAL-prelude, a form consisting of a skipsymbolfollowed by a go-on.symbol {skip;} is added at the end.{The term "sufficient number", as used in Steps 4 and 5 above, impliesthat no intended particular-program should have a different meaning orfail to be produced by the syntax solely on account of an insufficiency ofthat number.}Wherever {in the transput declarations} the representation lo (\, _1_)occurs within a character-denotation or string-denotation, it is to beinterpreted as the representation of the string-item {8.1.4.1.b} used toindicate "times ten to the power" (an alternative form {, if any,} of "timesten to the power", "plus i times") on external media. {Clearly, theserepresentations have been chosen because of their similarity to those ofthe times-ten-to-the-power-symboi (9.4.1.b) and the plus-i-times-symbol(9.4.1.c), but, on media on which these characters are not available, otherstring-items must be chosen (and the letter-e-symbol and the letter-isymbolare obvious candidates).}{The declarations in this chapter are intended to describe their effectclearly. The effect may very well be obtained by a more efficient method.}10.2. The standard prelude{The declarations of the standard-prelude comprise "environmentenquiries", which supply information concerning a specific property of theimplementation (2.2.2.c), "standard modes", "standard operators andfunctions", "synchronization operations" and "transput declarations"(which are given in section 10.3).}10.2.1. Environment enquiriesa) int int lengths = c 1 plus the number of extra lengths of integers{2.1.3.1.d} c ;b) int int shorths = c 1 plus the number of extra shorths of integers{2.1.3.1.d} c ;c) L int L max int = c the largest L integral value {2.2.2.b} c;d) int real lengths = c I plus the number of extra lengths of realnumbers {2.1.3.1.d} c ;e) int realshorths = c I plus the number of extra shorths of realnumbers {2.1.3.1.d} c ;f)g)h)i)J)k)l)m)n)o)P)q)r)s)t)ALGOL <strong>68</strong> Revised Report 129L maiL max real= c the largest L real value {2.2.2.b} c;L real L small real = c the smallest L real value such that both L 1 +L small real > L 1 and L 1 - L small real < L 1 {2.2.2.b} c ;int bits lengths = c I plus the number of extra widths {j} of bits c ;int bits shorths = c I plus the number of extra shorths {j} of bits c ;int L bits width = c the number of elements in L bits; see L bits{10.2.2.g}; this number increases (decreases) with the "size", i.e.,the number of 'long's (minus the number of 'short's) of which 'L'is composed, until a certain size is reached, viz., "the number ofextra widths" (minus "the number of extra shorths") of bits, afterwhich it is constant c ;int bytes lengths = c I plus the number of extra widths {m} of bytes c ;int bytes shorths = c I plus the number of extra shorths {m} ofbytes c;int L bytes width = c the number of elements in L bytes; see L bytes{10.2.2.h}; this number increases (decreases) with the "size", i.e.,the number of 'long's (minus the number of 'short's) of which 'L'is composed, until a certain size is reached, viz., "the number ofextra widths" (minus "the number of extra shorths") of bytes, afterwhich it is constant c;op abs = (char a) int : c the integral equivalent {2.1.3.1.g} of thecharacter 'a' c ;op rapt= (int a) char : c that character 'x', if it exists, for which absx=ac;intmax abs char= c the largest integral equivalent {2.1.3.1.g} of acharacter c ;char null character = c some character c ;char flip = c the character used to represent 'true' during transput{10.3.3.1.a, 10.3.3.2.a} c ;char flop = c the character used to represent 'false' during transput c ;char errorchar= c the character used to represent unconvertiblearithmetic values {10.3.2.l.b,c,d,e,f} during transput c ;u) char blank = "._";10.2.2. Standard modesa)b)mode void = c an actual-declarer specifying the mode 'void' c k\mode boo/= c an actual-declarer specifying the mode 'boolean' c;c) mode LInt = c an actual-declarer specifying the mode 'L integral' c ;

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!