Mercury Autocode(ID:2227/mer004)Autocode for the Ferranti MERCURY computerAutocode for the Ferranti MERCURY computer. Designed by RA Brooker of the University of Manchester Pivotal language between the old (lower) and new (higher) Autocodes Hardware:
Related languages
References: in The Computer Journal 1(1) 1958 view details in The Computer Journal 1(1) 1958 view details in The Computer Journal 1(1) 1958 view details in The Computer Journal 1(1) 1958 view details in The Computer Journal 1(1) 1958 view details in Goodman, Richard (ed) "Annual Review in Automatic Programming" (2) 1961 Pergamon Press, Oxford view details in The Computer Journal 3(3) October 1960 view details in The Computer Journal 3(3) October 1960 view details in The Computer Journal 3(3) October 1960 view details in The Computer Journal 3(3) October 1960 view details "A description of MERCURY Autocode in terms of a phrase structure language," by R. A. Brooker and D. Morris, is of particular interest to those who have read the earlier papers by the same authors (published in The Computer Journal) describing their assembly program for a phrase structure language, which is essentially a compiler for writing compilers. The application of the phrase structure concept to an actual language provides specific examples which assist comprehension of the preceding papers, but a new reader starting with this paper will find it difficult going in places. in The Computer Bulletin June 1962 view details Introduction Electronic computers are able to work at high speeds only because they are programmed. Analysis of a problem, or a data processing procedure, and the programming of it for a computer in machine code, is a laborious task. In the early machines, users soon appreciated the advantage of having standard programs for assembly and program development, and a library of routines for regular calculations, complex number input and output, and for tracing the course of programs during program development, particularly when unexpected results were given when the program was tried on the machine. Where jobs are to be done regularly, it is still most economical, in the long run, to program them in machine language using such library routines as may be available. But for jobs which have to be done only once, or where it is desirable to try-out part of the job first and then extend the application of the computer, simplified programming systems have been developed. By their means, the computer can be addressed in a form of English, or by direct use of mathematical symbols if these are available in the character set of the teleprinter-punch used for punching the program. These simplified programming systems to which I shall apply the term "Autocodes" (originally named by Brooker at Manchester), together with available libraries of programs, constitute a very significant extension of the machinery which is now available. Besides saving the time spent on programming, these systems reduce the clerical errors of program writing by eliminating many tedious steps and this also reduces the time taken by program development. They also make it easier for the writer (or another person) to amend the program at a later date. In the earlier systems, the simplification entailed a varying loss of operating speed, varying between two and fifteen times as long to do a job on the machine. But a half hour of computer time after a few hours' programming in autocode is a more economic proposition for a one-off job, or trial of a routine job, than several weeks on programming, followed, after several trials, by a successful five-minute run on the computer. The newer programming systems, which involve a preliminary operation to compile a machine code program, will suffer less loss of speed and will become the normal method of programming computers for calculations and dataprocessing work, where the operations are not sufficiently standard to justify the writing of specific or general programs in machine language. Extract: Work at Rothamsted Work at Rothamsted In his valedictory Presidential address to The British Computer Society in London on 26 September 1961, Dr. Frank Yates reviewed the contribution which computers have made and are making in research statistics. It is on the solution of problems involving heavy numerical computation, in pure research, and in engineering design that, in his view, computers have achieved their most striking successes: Dr. Yates went on to point out that even in fields where computational tasks had previously been performed on desk calculators, computers could introduce three new features: (a) Speed, e.g. where further progress depends on knowing results to date. (b) A more thorough job, with better editing of data and more accurate calculations. (c) Relegation of computational methodology to the machine, so that people requiring to do calculations do not have to know the detail of the calculations involved. His paper (Yates, 1962), published in the January issue of The Computer Journal, reviews experience at Rothamsted and the development there of general programs for statistical work and some autocodes at other centres. If a general purpose program is available to include a mathematical procedure or the statistical method which one needs for a piece of analysis, then more people can use the computer. 1 have prepared a schedule of some of the schemes that are now available, or may be expected to be available early in 1962. Those who have access to a computer may find this of interest to follow up whichever line of development is applicable. Extract: Applications in Metal Box Company Applications in Metal Box Company In a paper published in The Computer Journal for April 1961 (Gearing 1961) 1 referred to the use which we, in The Metal Box Company Limited, had made of Pegasus autocode. I reviewed, in some detail, two programs. One of these was an analysis of a market survey for household trays in which interviews were conducted with some 1,100 households, covering 17 general questions and 10 observations of each tray found at the house: these questionnaires were analysed and 17 tables for the internal report were printed direct from the computer output tape. The other program related to part of our work on experimental sales forecasting and is now available in the Pegasus/Sirius interchange scheme (Ferranti, 1960). Our first computer application to quality control was in 1958-59 when we undertook an analysis of variance in connection with a productive operation being camed out by a group of machines in the chain between the sheet of tinplate and the finished open top can. Three factors were involved. The autocode program for Pegasus was thought to be rather slow and a full machine code program was written by Mr. D. Bulcock and is now available in the Pegasus interchange scheme. There are other analyses of variance programs available, notably one by BISRA (Caner and Taylor, 1960) which caters for up to seven factors, but if there are more than seven levels and only three factors involved, our program permits all the levels of data to be used. Nowadays, we would not attempt to write a full machine code program unless the job was going to be frequently done and would require considerable machine time. In the group of machines which we are using, a compiler-program has become available which automatically translates the Pegasus autocode program into Sirius machine orders (Ferranti, 1959 and 1961). In 1960 we were asked to assist in the analysis of data on the variability of some raw material which had been collected from sampled consignments over two years. Several different characteristics of the material had been measured. An autocode program was wntten to analyse each characteristic separately, prmting sample means, ranges, standard dev~ations, and compiling frequency distributions of means and standard deviations. A hierarchic analysis of variance was also given at the end of each characteristic. We were asked to undertake this work on 29 March and the calculations were substantially completed on 12 Aprll. Further calculations and a correlation between two characteristics were made on 3 June and 5 October 1960. Here I would like to stress that although the program was written in autocode, which is normally advocated for one-off jobs, the program is a general one. The progress of the calculations is controlled by ten parameters and the print routine by seven more. Thus one program served for the analysis of all the different characteristics, including some that involved preliminary arithmetic on pairs of observations. The correlation program was written separately but took only two hours to write, using pairs of exlsting data tapes fed in on the two tape readers simultaneously. Extract: Scientific Autocodes Scientific Autocodes The list appended covers a wide range of programs. compilers, autocodes. Among the autocodes which can be taught in a few days and which are already fully operational are : Mercury autocode. Pegasus/Sirius autocode. Ferranti Matrix Interpretive Scheme. Deuce Alphacode. IBM Fortran. Edsac 2 Autocode. Stantec Zebra Simple Code. Elliott 803 autocode. Elliott and other systems based on ALGOL Extract: Commercial Autocodes Commercial Autocodes Those concerned with Commercial Data Processing should have a look at: ICT Rapidwrite-Cobol. Ferranti Nebula. Cleo & Gypsy when available. These may take a couple of weeks to study, because, speaking from experience with Nebula, there are not only procedure descriptions but also file outlines and specifications of format of data and results when dealing with computers having considerable ancillary equipment. The Scientific Autocodes are usually concerned with one medium of inputloutput only, punched tape or punched-cards. Programming a data processing operation in a Commercial Autocode like Nebula becomes a full-time job; but it is easier to train staff in Nebula than a machine code and the autocode compiler will (we hope) take care of housekeeping routines when opening and closing files. We are using young men and women of O level mathematics, who have had experience of controlling our punched card routines, for this work. in The Computer Bulletin March 1962 view details EXCHLF AUTOCODE - or simply EXCHLF - is a computer programming language. It is a development of MERCURY AUTOCODE, one of the first non-basic programming languages, which was developed especially for the Ferranti MERCURY computer principally by R. A. Brooker of Manchester University. Various extensions and modifications of MERCURY AUTOCODE have been produced from time to time; in particular, the term CHLF AUTOCODE was applied to an extended version of MERCURY AUTOCODE developed collaboratively by and used at the MERCURY installations at CERN, Harwell, London, and RAE Farnborough. The most substantial innovation in CHLF AUTOCODE was the CHLF Routine, due to Dr D. C. Cooper of the then University of London Computer Unit. Both MERCURY AUTOCODE and the original CHLF AUTOCODE as programming languages preserved a particular orientation to MERCURY as the implementing computer, A facility for incorporating MERCURY machine-language instructions into AUTOCODE programs was much used in order to supplement the deficiencies of AUTOCODE itself. The replacement of the London MERCURY by an ATLAS computer was preceded by the development at London of an extended CHLF AUTOCODE; this extension, called CHLF3 AUTOCODE, came into use as the standard version of AUTOCODE for MERCURY at the University of London Computer Unit on 1 April 1962. Its new features were chiefly such as to obviate the necessity for machine-language instructions, so as to facilitate the transition from MERCURY to ATLAS. Its development and implementation on MERCURY were due principally to Alan Fairbourn of ULCU, as was its eventual implementation on ATLAS. It then became clear that CHLF3 AUTOCODE did not take full advantage of the capabilities of ATLAS; and it was found possible to make still further extensions and improvements by means of appropriate modifications to the ATLAS Compiler for GHLF3 AUTOCODE. The name EXCHLF AUTOCODE was applied to this new extended language; the EXCHLF Compiler came into use on ATLAS in October 1965. By this time the AUTOCODE language had become, rather like a developed human language, a mixture of primitive and sophisticated elements; it was clear that the next stage of development must include rationalisation as well as further extension. The EXCHLF Compiler introduced in September 1966, to which this Handbook applies, nevertheless does not render obsolete (in the sense of unavailable) any of the facilities of its predecessors (with a few minor exceptions). However a substantial number of features and facilities have been rendered obsolescent, in that they are now provided for as particular cases of more general facilities, or are incompatible with newer facilities, or are irrelevant to execution by ATLAS. In order therefore to assist their transition from obsolescence to oblivion, such features and facilities are not described in this Handbook. In other words, the process of rationalisation has been applied to the Handbook but not yet to the Compiler. The implementation on ATLAS of the various stages of the EXCHLF development is due to Gailean Davidson, with the assistance of Diana Lawrence and, more recently, Margaret Pragnell, all of ULICS. Benedict Nixon (ULICS)has been closely associated in a consultative capacity with all the stages of development outlined above. Another substantial extension of MERCURY AUTOCODE has been produces by ICT Ltd.; it is CAlled Extended Mercury Autocode or EMA. It includes many of the features of the early CHLF AUTOCODE as well as having peculiarities of its own; but it is not necessarily the case that a EXCHLF program is an acceptable EMA program and vice-versa, in spite of the considerable common ground. in The Computer Bulletin March 1962 view details All early computer users wrote their programs in machine code so programming was something of a black art. R.A. Brooker in Manchester (now Professor and pro-Vice Chancellor at Essex) devised an Autocode for the Mark-l and Mark-I*, which was a simple, easy-to-Iearn and easy-to-use high level language - not very high, to be sure, and very slow in execution, but a great improvement on machine code if you had only a fairly small program to write. We introduced this to Harwell and it caught on. When Ferranti embarked on building Mercury - based, as I said, on the next Manchester design - Brooker decided to write a new Autocode which, because of the higher basic speed and better facilities offered by Mercury, would be much more powerful and flexible and much faster. He spent a lot of time with us at Harwell discussing what should go into the new system, so that Harwell certainly had a significant influence on what he produced. The system, Mercury Autocode, proved a great success. Although simple when compared with modern high-level languages it provided an admirable range of facilities and was very easy to learn. With various enhancements it had a remarkably long life; a compiler for the final version, called CHLF because it was produced by a collaboration between CERN, Harwell, London (University) and Farnborough (RAE), was written for Atlas and was still in use in the early 1970's. in The Computer Bulletin March 1962 view details in The Computer Bulletin March 1962 view details |