Contact us Heritage collections Image license terms
HOME ACL Associates Technology Literature Applications Society Software revisited
Further reading □ Overview1-4 System5-11 Matrix12-20 System22-28 I/O29-31 Translators37-48 System50-59 Linear algebra60-69 Eigen □ Equations □ 70-74 Algebraic75-79 Differential80-84 Quadrature85-95 Approx96-99 Probability100-105 Numerische Mathematik106-110 Graphing
ACD C&A INF CCD CISD Archives Contact us Heritage archives Image license terms

Search

   
ACLLiteratureAtlas manualsAlgol Library :: Atlas Algol Library
ACLLiteratureAtlas manualsAlgol Library :: Atlas Algol Library
ACL ACD C&A INF CCD CISD Archives
Further reading

Overview
1-4 System
5-11 Matrix
12-20 System
22-28 I/O
29-31 Translators
37-48 System
50-59 Linear algebra
60-69 Eigen
Equations
70-74 Algebraic
75-79 Differential
80-84 Quadrature
85-95 Approx
96-99 Probability
100-105 Numerische Mathematik
106-110 Graphing

ICT29

            integer procedure dialect list (D, S, N, NU, I, T);
value D, S, NU, I, T;
integer  D, S, NU, T;
Boolean I;
string N;

This procedure is designed to output a library item in any form or dialect that the user requires. It calls a procedure initialise dialect to be defined by the user which will give the representations of the Algol basic symbols on the particular output form. It is hoped eventually to provide a set of procedures initialise dialect for the main dialects used at the Laboratory.

Tne procedure dialect list outputs the library item (on the magnetic tape numbered S which has its directory at position D) with name N and number NU. The output will be on output stream T. The layout of the Algol library item will be the standard one used at the Laboratory. Indenting will be provided if I is true.

For example if ALGOLIB is defined as tape 99 in the Job Description then:-

dialect list (1, 99, 'ICT', 29, true, 3);

will output the library item ICT29 with indenting on output stream 3 (ALGOLIB has its directory at block 1, the standard position).

ICT30 and ICT31 define copies of the procedure initialise dialect which will produce output in the ATLAS CARDS dialect and ICT 8-HOLE TAPE respectively.

The procedure initialise dialect is defined as:

            procedure initialise dialect (D, T);
integer arrayD, T;

The array T is used to store the output forms of the various Algol symbols and the array D is a set of pointers, one per Algol symbol, giving the position of each basic symbol in the array T. The dimensions of the arrays D and T are:-

D [ -9: *]       and     T[O: *]

The upper limits must be sufficient for the dialect in question. For the positive values of the array D, D[I] points to the position in T of the Ith Algol symbol. The numbering is the standard one used in the Atlas Algol System. The negative entries for D should contain the following:-

D[-2]
Points to position in array T of the space character on the output.
D[ -3]
The numeric value of the runout character on the output.
D[-4]
The numeric value of the newline character on the output if output is binary (paper tape output will normally be in binary and card output in internal code).
D[-5]
0 for binary output, = 1 for internal code.
D[-6]
The number of runout characters to be output each time runout is required.
D[-7]
The number of columns that the colon symbol takes up.
D[-8]
Maximum number of characters allowed on any line.

For each Algol symbol, the entries in the array T consist of a count of the characters in the symbol followed by the individual characters. If the output is in Internal Code then the internal code values of the characters are given. If the output is in binary, then the numeric values of the characters are output. On paper tape, the three least significant bits of the character are those together on one side of the sprocket feed hole. For example, 11.011 has the numeric value 27.

The Algol symbol Z would require the following:-

D[26]    =   n 
T[n ]    =  number of characters to be output for symbol Z.
T[n+1]   =  first character of Z.
T[n+2]   =  second character of Z. , etc.

In addition, the entries D[I] contain bits defining the layout required for the output. The value n above has added to it:

32768     if a space is required to be output before the Algol symbol 
65536     if a space is required to be output after the Algol symbol 
131072    if a newline is required to be output before the Algol symbol
262144    if a newline is required to be output after the Algol symbol

The standard settings used in the Atlas Algol listings can be obtained by calling

add in newline space (D);

before leaving the procedure initialise dialect.

ICT30

This version of initialise dialect together with ICT29 allows library items to be output on cards in the ATLAS CARDS dialect.

ICT31

This version of initialise dialect together with ICT29 allows library items to be output in the ICT 8-hole tape dialect used on 1900 computers. The output stream used must be defined as SEVEN-HOLE TAPE in the Job Description and a note added to the Job Slip saying that 8-track output is required.

⇑ Top of page
© Chilton Computing and UKRI Science and Technology Facilities Council webmaster@chilton-computing.org.uk
Our thanks to UKRI Science and Technology Facilities Council for hosting this site