'The Input Language System of Automatic Programming (ABS14) ' By
Total Page:16
File Type:pdf, Size:1020Kb
-1- 'The Input Language System of Automatic Programming (ABS14) ' By: A.P. Ershov., G.I. Koschuhin, U. M. Voloshin. Published by the Computational Centre of the Academy of Sciences of the U.S.S.R. Mosc9w 1961. Also distributed to the Algol Bulletin List as ABS 14. The translation of the foreword and introduction comprises the first 22 pages out of the total 173 pages of the above book, and contains a 'talky - talky' description of the authorB aims and proposals, some of which have subsequently been revised. The translation was made by R. W. Hockney with help of G. Williams and @. J. Tee in April 1962. A complete translation of the final version of the tInput ~anaguage I ~ill be published by the Brighton APIC as Vol.III of APIC studies in Data Processing. !be structure of this description of the input language follows to the maximum extent the structure of the 'Report on the Algor~thmic language Ugcl 60'. In particular the numbering and naming of the corresponding sections is retained. The whole text, rslating $0 those parts of the which coincide with the corresponding parts of Algol 60, . is taken where possible in full from the correspondi text of' Algol 60, All the paragraphs or larger units of the text? section, paragraphs etc. ,) ,which are supplements to Algol 60; are pointed out by asterisks. Additional metitlinguistic formulad (1),&fining the establised (1) for brevity neta-linguistic fornulM are called Id - formube. units of the language mill also be indicated in the margin by asterisks. Additional M- formulae of an auxiliary character, are indicated in the margin by dots. - In the case, when an Id- formulas ,present in Algol 60, is removed, this will be clearly indicated in the corresponding section. All references from the 'Report on the Algorithmic language Algol 60' will have the form ALGn, where n is the number of the oorresponding section, for emmple ALG.5, ALG4.7.3.2 etc. Moscow July 1960, Introduotion The present work contains a description of the input language system of automhtic programming in the form suggested by the Institute of Mathematics of the Siberian section of the Academy of Sciences of the U.S .S.R. - Work was started in the Institue of Mathematics on the automation of progrnmming in the autumn of 19%. From the beginning it became clear that, it was necessary to acwve full clarity with regard to the input language, before proceeding with the preparation of programming algorithms and the construction of a pragramming programme. Therefore the basic work, which was accomplished in the first stage consisted of the study and analysis of the input languages of the most interesting systems for the automation of przograrnrning. Of the systems investigated which have influenced the concepts of the authors, we must mention the following PPS (l), PP MGU (2). FOR!f!RAN (3) and UNICODE (4). (1) Ershov. A.P. , KIM KV, PPS - A translator for the computing machine AP;ROW - 3, Published by the Computation Centre of Academy of Sciences of the U.S. S.R, Moscow 1960. (2) Trif'onov N.P. Concerning some special translators at Moscow State University. Lecture which was given to All-Union meeting on computer mathema-tics and computer techrLques. Mosoow State University, Mosoow, 16 - 21 November 1959. (3) FOR!I!FUN, Instruction for use, From the collection of translations 'Autonatic prog~arnming' under the editorship AoP* Ershov. FIZMPITGIZ Moscow, 1960 (b cing printed). L (4) UNICODE - P system of automatic programming for the automatic c~mput~emachine UNIVAC SCIL'NTIFIC llO3A. From the collection of transiations 'Automatic programmingt under the editorship of AJ?, Ershov, FIZIULTGIZ Moscow 1960 (being printed). However~ in contrast with the earlier input languages, it was decile~ to lay down as a foundation of the project the following basic principles° (i) To sto.y within the framework of an algebraic language and to give the maximum assistance to mathematicians in the recording of algorithms for the solution of problems in numerical analysis and their solution on a machine. To make the languages as far as possibile, independent of the specific characteristics of particular computing machines, thus giving it tile character of a universal common language. In this cor~ection it was natural that the project of the international algorithmic languv~ge ALGOL, especially attracted our attention, and interest both when it first appeared and when the first information was received for the Zurich Conference. (5). (5) tReport on the algorithmic langauge ALGOL t. UBder the editorship of A.J. Perlis and K. Samelson. Translated from the English. Published by the Computation Centre ~f the Academy of Sciences of the U.S.S.R. 1960. , ill i ill , - - l J |.| IH m ' l II ,i i i A thorough study of the project ALGOL 58 (1) lead us to the ............ | i l|i ,|, l i i |L i I . (1) The earlier 'Report on an algorithmic langmage' By analogy with f~GOL 60 was called Algol 58. conclusion that this project could be made the foundations of our work of constructing an input language. Howeverj at this timer the analysis of Algol 58 on the one hand, and of typical formulae of mathematical problems on the other, convinced us that the de~riptive means of Algol 58 should be considerably extendedp in order that it might become in fact a convenient tool of the programmer an~ mathematician. The creation of the first version of the input language was the ~second stage of the work. The general outlines of the language were developed between June and October 1959. They were discussed at a meeting of a seminar of the programming section of the Institue of Mathematics and were first explained in a lecture by A.P. Ershov (6). ~i i i i |.. U HH , | , . m i , |,m , I | ' (6) Ershov A.P. Wh~.t ought to be next in programming programme s? Leetu2e, which was given to the All - Union meeting on computational mathematics and computational techniques. Mosoo~ State University, Moscow,s, 16 - 21 November 1959. -- i .I u i i i. , j iii i ,m ,i i ii ,i, , | n i i The precise description of the 1st version of the input language was written by U. M. Voloshin. A. P. Ershov, and V. A. Yankov in March 1960. At this time information became available to us of the Paris Conference o~ Algol~ held in January 1960, as a result of which a new version of the algorithmic langauge, known as Algol 60 (7) appeared. -4- V~rLle studying Algol 60, we hotedwith satisfaction that practically all the imp~ovements~ which were made in Algol 60 as compared with Algol 58, corresponded with our point of view. This agreement (dlssregarding certain differences in the formulation of these improvements) was the more remarkable, when it is borne in mind that until March 1960 we, in point of fact did not have any preliminary information about the character of the reworking of Algol 58. As a consequence at this we resolved to construct a 2nd version of the input language the structure of which would approach as olosel~ ,J as possible t~ that of Algol 60. The development of the second version which, was accomplished by the authors between April and July 1960, formed the third stage of the creation of the input language. The description of the second version forms the subject of the present report. The basic constituents of this work consisted of a oc~eful analysis and comparison of the 1st version of the input language and Algol 60, in the removal of secondary a~fferenees and supplements, by proposing supplements in such a way that they would correspond as far as possible to the framework of Algol 60. Fellow workers in the department of the theory of Algorithms and programz~ng of the Institute of Mathematics of the Siberian Section of the Academy of Sciences of the U.S.SoR, were of great assistance to the authors by preparing various ~examples of computational algorithms written both in the input language and in Algol 60. In the proposed project of the input language the scope and structure of Algol 60 is completely retained. In particular any algorithm , written in Algol 60 is the same algorithm in the input language. In this zase it is more correct to say of the input language, not that it is a sepante language but that it is an extension of Algol 60. Even if we do not mention that the basic principles of Algol 60 formed the basis of the input langauge the other points in view of the authors are reflected in the proposed additions. Full infozmation concerning the syntax and scmantio s of the proposed additions are found in the basic part of this work called 'The Description b~c~e Input Language t . However, for the purpose of orientation, we would like to describe shortly in the introdution the essence of the proposed supplements and to give some motivation. All essential supplements to Algol 60, which are contained in the input language, fall into the foll qwing_cate{ories. ~he Introduction of Mu~ti-~imens!onal quantities and 0perat.ions on them. It is well known that in Algol 60 components in arithmetic operations can be only scalar quantities. This seems to us to be extremely incoHvenient as, in the majority of cases, schemes for algorithms are encumbered by surplus information, It is well known that computational algorithms in linear algebra take a particular eleg~ut and compact form when written in~ector and matrix notation.