Contact us Heritage collections Image license terms
HOME ACL Associates Technology Literature Applications Society Software revisited
Further reading □ OverviewAssessingSystem OverviewPreprocessor DialectsExecution SpeedsAlgol Paper No 11Man or Boy?Algol LibraryAlgol Bulletin 1
ACD C&A INF CCD CISD Archives Contact us Heritage archives Image license terms

Search

   
ACLApplicationsAlgol :: Algol System
ACLApplicationsAlgol :: Algol System
ACL ACD C&A INF CCD CISD Archives
Further reading

Overview
Assessing
System Overview
Preprocessor Dialects
Execution Speeds
Algol Paper No 11
Man or Boy?
Algol Library
Algol Bulletin 1

The Algol System on Atlas

Bob Hopgood and Alex Bell

1966

ALTHOUGH Algol is a well known and much used language on computers, the actual physical form of the program is not specified. It can be on paper tape of varying width or on cards. Also, the input/output procedures are not defined, resulting in complete incompatibility between a compiler on one machine and the system on another machine.

The Atlas computer is a large, fast machine with a full Algol compiler provided by I.C.T. It was decided to accept other dialects of Algol by incorporating three extra features in the compiler. The first is the PREPROCESSOR which will translate an alien program by recognition of the basic Algol symbols and passing to the compiler the Atlas form of these symbols. It also produces legal Algol from the illegal forms of PRINT and READ on Elliott compilers, e. g.

PRINT SAME LINE, X, 'STRING' ;

where PRINT is a procedure call with an indefinite number of parameters. This example is translated to

            begin

  start print elliott;
  same line;
  print elliott (x);
  print text elliott ('STRING ');
  terminate print elliott

end;

As can be seen, new output procedure calls are generated. The second extra feature of the system is an I/O package for the relevant language. The system has four such packages, namely Atlas, Elliott and English Electric KDF 9 Algols, and GRAPH facilities which allow graphical output to be produced on the Benson-Lehner electro-mechanical plotter.

The final feature is a package of tables which direct the flow and aid in the identification of symbols when the processor is in control. There are at present ten such tables, and their most important function is marking what could be the first character of an Algol symbol of many characters: e. g.

            begin 'BEGIN' begin BEGIN

are all different forms of the same symbol and the relevant table package must ensure that the first letter b is marked. This is because a compute entry is formed, on encountering this marker, on the letter itself and the following one, i. e. be. A dictionary is then consulted for a match of the following characters. If this succeeds the symbol begin is passed on in a converted form to the compiler proper; if it fails, then a single character at a time is translated, e. g. BEGIN1 is an identifier, the 1 causes a failure of recognition and the five individual letters are then passed on followed by the number.

Besides the processor, which can accept ten dialects of Algol on various input media, there is also a demand for editing. Running an alien program on Atlas is not sufficient if errors are present, because the Laboratory does not possess equipment to alter the actual physical form of the program. The editing system can be utilised either by the programmer inserting information directly into his physical program at any point, providing it occurs before the line being altered; or by the programmer first putting his program on magnetic tape (the system does this for him on request) and obtaining a listing with line numbers as reference points. The programmer may then edit his program in any of the ten dialects he prefers, but cards is the normal medium.

Apart from editing and listing on lineprinter, paper tape or cards (the last two being re-entrant), the system also provides a comprehensive library system consisting of the full set of A. C. M. Algorithms and sundry others, plus the facility of allowing the programmer to define his own library tape and the titles therein.

The system is operating as planned. It is, we believe, the most complete and flexible Algol system available on any computer.

⇑ 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