Eindhoven University of Technology MASTER the History of the ALGOL

Total Page:16

File Type:pdf, Size:1020Kb

Eindhoven University of Technology MASTER the History of the ALGOL Eindhoven University of Technology MASTER The history of the ALGOL effort de Beer, H.T. Award date: 2006 Link to publication Disclaimer This document contains a student thesis (bachelor's or master's), as authored by a student at Eindhoven University of Technology. Student theses are made available in the TU/e repository upon obtaining the required degree. The grade received is not published on the document as presented in the repository. The required complexity or quality of research of student theses may vary by program, and the required minimum study period may vary in duration. General rights Copyright and moral rights for the publications made accessible in the public portal are retained by the authors and/or other copyright owners and it is a condition of accessing publications that users recognise and abide by the legal requirements associated with these rights. • Users may download and print one copy of any publication from the public portal for the purpose of private study or research. • You may not further distribute the material or use it for any profit-making activity or commercial gain Technische Universiteit Eindhoven Department of Mathematics and Computer Science The History of the ALGOL Effort by HT de Beer supervisors: C. Hemerik L.M.M. Royakkers Eindhoven, August 2006 Abstract This report studies the importancy of the ALGOL effort for computer science. Therefore the history of the ALGOL effort is told, starting with the compu- tational context of the 1950s when the ALGOL effort was initiated. Second, the development from IAL to ALGOL 60 and the role the BNF played in this development are discussed. Third, the translation of ALGOL 60 and the establishment of the scientific field of translator writing are treated. Finally, the period of ALGOL 60 maintenance and the subsequent period of creating a successor to ALGOL 60 are described. ii Preface This history on the ALGOL effort was written as a Master thesis in Com- puter Science and Engineering (Technische Informatica) at the Eindhoven University of Technology, the Netherlands. iii Contents Abstract ii Preface iii Contents iv 0 Introduction 1 0.0 On the sources used ........................ 2 0.1 My own perspective ........................ 3 0.2 The ALGOL effort: a definition .................. 4 0.3 Notes ................................ 4 1 Creation 5 1.0 The start of the ALGOL effort ................... 5 1.1 The need for a universal algorithmic language ........... 7 1.1.0 The American field of computing ............. 7 1.1.1 The European field of computing ............. 9 1.1.2 The difference between Europe and the USA and the need for universalism ...................... 11 1.2 Why was IAL chosen over other algorithmic languages? ..... 11 1.2.0 IT ............................. 12 1.2.1 MATH-MATIC ....................... 14 1.2.2 FORTRAN ......................... 15 1.2.3 IAL ............................. 16 1.2.4 Why did IAL have to be the international algebraic lan- guage? ........................... 16 1.3 Conclusion ............................. 18 1.4 Notes ................................ 19 2 Notation 22 2.0 Why notation matters? ...................... 22 2.1 Notations used to describe early programming languages ..... 23 2.1.0 The notation of IAL and FORTRAN compared ...... 23 2.1.1 The quality of IAL’s notation ............... 26 2.2 Backus’s notation ......................... 29 2.3 Developing ALGOL 60 ....................... 31 iv Contents 2.4 Conclusion ............................. 36 2.5 Notes ................................ 37 3 Translation 39 3.0 From craftsmanship to science ................... 39 3.1 Sequential formula translation ................... 41 3.1.0 The development of the sequential formula translation technique .......................... 43 3.1.1 Sequental formula translation explained .......... 46 3.2 Implementing procedures and recursion .............. 49 3.2.0 “Solving” by ignoring ................... 49 3.2.1 Dijkstra’s Recursive Programming ............. 50 3.2.2 The solution of Irons and Feurzeig ............ 51 3.3 The influence of ALGOL’s structure ................ 54 3.3.0 Grau’s recursive translation technique ........... 54 3.3.1 Irons’s syntax directed compiler .............. 55 3.3.2 Lucas’s structure of formula translators .......... 56 3.3.3 Connecting ALGOL-like languages with context-free lan- guage theory ........................ 58 3.4 Conclusion ............................. 59 3.5 Notes ................................ 60 4 Succession 63 4.0 Use and maintenance of ALGOL 60 ................ 63 4.1 The move of responsibility for ALGOL to WG 2.1 ......... 65 4.2 On ALGOL X and Y ........................ 67 4.3 The end of the ALGOL effort: the creation of ALGOL 68 .... 72 4.3.0 Orthogonality versus pragmatism ............. 72 4.3.1 A contribution to the development of ALGOL ...... 73 4.3.2 The end and the ALGOL 68 report ............ 75 4.4 Conclusion ............................. 76 4.5 Notes ................................ 77 5 Conclusion 80 5.0 Summary .............................. 80 5.0.0 The start of the ALGOL effort ............... 80 5.0.1 From IAL to ALGOL 60: notation and language ..... 82 5.0.2 From craftsmanship to science: translating ALGOL 60 .. 83 5.0.3 In search of a worthy successor to ALGOL 60 ....... 84 5.1 Conclusions: The important contributions by the ALGOL effort . 85 5.1.0 The Backus Naur Form .................. 85 v Contents 5.1.1 Programming language concepts ............. 86 5.1.2 Syntax directed translation and dynamic memory mana- gement ........................... 87 5.1.3 The contribution of the field of translator writing ..... 88 5.2 Success and failure ......................... 88 5.3 Notes ................................ 89 Bibliography 90 vi Introduction 0 On Sources, Perspective and the ALGOL Effort What was the importance of the ALGOL effort for computer science? • On the sources used to answer this question • My own perspective on ALGOL and the ALGOL effort • And the meaning of the term “ALGOL effort” On May 20th, 2006, Peter Naur received the 2005 ACM Turing Award. This award is often regarded as the “Nobel Prize” in Computer Science. Naur was rewarded for his ‘pioneering work on defining the Algol 60 programming language. (...) [He] was editor in 1960 of the hugely influential ”Report on the Algorithmic Language Algol 60.” He is recognised for the report’s elegance, uniformity and coherence, and credited as an important contributor to the language’s power and simplicity.’0 Forty-five years after the publication of the ALGOL 60 report, it is still regarded as one of the most influential papers in computer science. Pe- ter Naur was not the only Turing Award winner related to the ALGOL effort: A.J. Perlis, J. McCarthy, E.W. Dijkstra, J. Backus, R.W. Floyd, C.A.R. Hoare, and N. Wirth were all awarded before him.1 It may be not for their work in the ALGOL effort per s´e,but they were all part of the effort, either as a member of the committee defining ALGOL 58 or ALGOL 60, as an implementor of ALGOL 60, as a contributor to the theory of formal lan- guages stimulated by ALGOL 60, or as a member of the committee working on a new ALGOL in the 1960s. The awarding of these computer scientists indicates that the ALGOL ef- fort was an important part of the development of computer science itself. This importance is often stated without elaborating exactly why it was so important. ALGOL 60 was not the first programming language and it cer- tainly was not the most used one. So, the question arises: What was the importance of the ALGOL effort for computer science? To answer this question, the history of the ALGOL effort is told. First, in Chapter 1, the start of the effort is discussed and the central question in that chapter is: Why was there a need for an effort like the ALGOL effort? 1 0 Introduction This question will be answered by treating the computational context in which this effort was initiated; the algebraic programming languages from the 1950s are compared including the first language created by the ALGOL effort, ALGOL 58. Was this International Algebraic Language really better than these other algebraic languages? Then, in Chapter 2, the development from ALGOL 58 leading to the publication of the Report on the algorithmic language ALGOL 60 2 in May 1960 is treated. In this period, the notation used to describe and define programming languages changed fundamentally. The resulting ALGOL 60 report would become the standard for defining programming languages. Both the interesting new features in the programming language ALGOL 60 and the reasons why this new notation was developed during the ALGOL effort, are discussed. ALGOL 60 is often related to the development of formal language theory in computer science. This development was a result of the common effort to create translators for ALGOL 60. How did this development take shape, and, more importantly, what was the importance of this development for computer science? These questions are answered in Chapter 3. After the publication of the ALGOL effort, a period of maintenance of the ALGOL 60 language was started. During this period, the responsibility for ALGOL was transferred to an international body: the famous Working Group 2.1 of IFIP. Later, this working group developed a new ALGOL re- sulting in dismay and the end of the ALGOL effort. This end of the ALGOL effort did not set a good example for computer science, and the question arises: what was the importance, if any, of the effort to create a new AL- GOL? (See Chapter 4) Finally, in Chapter 5, the conclusion of this research on the ALGOL effort is drawn by answering the main question: What was the the importance of the ALGOL effort for computer science? Before the history of the ALGOL effort is told some remarks on the sources used, on my perspective, and on the term “ALGOL effort” are made. 0.0 On the sources used For this research both primary and secondary sources are used.
Recommended publications
  • Typology of Programming Languages E Early Languages E
    Typology of programming languages e Early Languages E Typology of programming languages Early Languages 1 / 71 The Tower of Babel Typology of programming languages Early Languages 2 / 71 Table of Contents 1 Fortran 2 ALGOL 3 COBOL 4 The second wave 5 The finale Typology of programming languages Early Languages 3 / 71 IBM Mathematical Formula Translator system Fortran I, 1954-1956, IBM 704, a team led by John Backus. Typology of programming languages Early Languages 4 / 71 IBM 704 (1956) Typology of programming languages Early Languages 5 / 71 IBM Mathematical Formula Translator system The main goal is user satisfaction (economical interest) rather than academic. Compiled language. a single data structure : arrays comments arithmetics expressions DO loops subprograms and functions I/O machine independence Typology of programming languages Early Languages 6 / 71 FORTRAN’s success Because: programmers productivity easy to learn by IBM the audience was mainly scientific simplifications (e.g., I/O) Typology of programming languages Early Languages 7 / 71 FORTRAN I C FIND THE MEAN OF N NUMBERS AND THE NUMBER OF C VALUES GREATER THAN IT DIMENSION A(99) REAL MEAN READ(1,5)N 5 FORMAT(I2) READ(1,10)(A(I),I=1,N) 10 FORMAT(6F10.5) SUM=0.0 DO 15 I=1,N 15 SUM=SUM+A(I) MEAN=SUM/FLOAT(N) NUMBER=0 DO 20 I=1,N IF (A(I) .LE. MEAN) GOTO 20 NUMBER=NUMBER+1 20 CONTINUE WRITE (2,25) MEAN,NUMBER 25 FORMAT(11H MEAN = ,F10.5,5X,21H NUMBER SUP = ,I5) STOP TypologyEND of programming languages Early Languages 8 / 71 Fortran on Cards Typology of programming languages Early Languages 9 / 71 Fortrans Typology of programming languages Early Languages 10 / 71 Table of Contents 1 Fortran 2 ALGOL 3 COBOL 4 The second wave 5 The finale Typology of programming languages Early Languages 11 / 71 ALGOL, Demon Star, Beta Persei, 26 Persei Typology of programming languages Early Languages 12 / 71 ALGOL 58 Originally, IAL, International Algebraic Language.
    [Show full text]
  • Thomas Ströhlein's Endgame Tables: a 50Th Anniversary
    Thomas Ströhlein's Endgame Tables: a 50th Anniversary Article Supplemental Material The Festschrift on the 40th Anniversary of the Munich Faculty of Informatics Haworth, G. (2020) Thomas Ströhlein's Endgame Tables: a 50th Anniversary. ICGA Journal, 42 (2-3). pp. 165-170. ISSN 1389-6911 doi: https://doi.org/10.3233/ICG-200151 Available at http://centaur.reading.ac.uk/90000/ It is advisable to refer to the publisher’s version if you intend to cite from the work. See Guidance on citing . Published version at: https://content.iospress.com/articles/icga-journal/icg200151 To link to this article DOI: http://dx.doi.org/10.3233/ICG-200151 Publisher: The International Computer Games Association All outputs in CentAUR are protected by Intellectual Property Rights law, including copyright law. Copyright and IPR is retained by the creators or other copyright holders. Terms and conditions for use of this material are defined in the End User Agreement . www.reading.ac.uk/centaur CentAUR Central Archive at the University of Reading Reading’s research outputs online 40 Jahre Informatik in Munchen:¨ 1967 – 2007 Festschrift Herausgegeben von Friedrich L. Bauer unter Mitwirkung von Helmut Angstl, Uwe Baumgarten, Rudolf Bayer, Hedwig Berghofer, Arndt Bode, Wilfried Brauer, Stephan Braun, Manfred Broy, Roland Bulirsch, Hans-Joachim Bungartz, Herbert Ehler, Jurgen¨ Eickel, Ursula Eschbach, Anton Gerold, Rupert Gnatz, Ulrich Guntzer,¨ Hellmuth Haag, Winfried Hahn (†), Heinz-Gerd Hegering, Ursula Hill-Samelson, Peter Hubwieser, Eike Jessen, Fred Kroger,¨ Hans Kuß, Klaus Lagally, Hans Langmaack, Heinrich Mayer, Ernst Mayr, Gerhard Muller,¨ Heinrich Noth,¨ Manfred Paul, Ulrich Peters, Hartmut Petzold, Walter Proebster, Bernd Radig, Angelika Reiser, Werner Rub,¨ Gerd Sapper, Gunther Schmidt, Fred B.
    [Show full text]
  • Computing Versus Human Thinking
    By Peter Naur, recipient of ACM’s 2005 A.M. Turing Award Computing Versus Human Thinking n this presentation I shall give you an overview of efforts. Indeed, I have found that a large part of what Imy works from the past fifty years concerning the is currently said about human thinking and about sci- issue given in the title. Concerning this title I entific and scholarly activity is false and harmful to invite you to note particularly the middle word, ‘ver- our understanding. I realize that my presentation of sus’. This word points to the tendency of my efforts some of these issues may be offensive to you. This I around this theme, to wit, to clarify the contrast regret, but it cannot be avoided. between the two items, computing and human thinking. This tendency of my work has found its DESCRIPTION AS THE CORE ISSUE OF SCIENCE AND ultimate fulfilment in my latest result, which is a SCHOLARSHIP description of the nervous system showing that this The tone of critique and rejection of established system has no similarity whatever to a computer. ideas has its roots in my earliest activity, from its very It is ironic that my present award lecture is given beginning more than fifty years ago. Already in my under the title of Turing. As a matter of fact, one part work in astronomy, around 1955, a decisive item in of my work concerning computing and human think- my awareness came from Bertrand Russell’s explicit ing has been an explicit critique, or rejection, of the rejection of any notion of cause as a central issue of ideas of one prominent contribution from Alan Tur- scientific work.
    [Show full text]
  • A Politico-Social History of Algolt (With a Chronology in the Form of a Log Book)
    A Politico-Social History of Algolt (With a Chronology in the Form of a Log Book) R. w. BEMER Introduction This is an admittedly fragmentary chronicle of events in the develop­ ment of the algorithmic language ALGOL. Nevertheless, it seems perti­ nent, while we await the advent of a technical and conceptual history, to outline the matrix of forces which shaped that history in a political and social sense. Perhaps the author's role is only that of recorder of visible events, rather than the complex interplay of ideas which have made ALGOL the force it is in the computational world. It is true, as Professor Ershov stated in his review of a draft of the present work, that "the reading of this history, rich in curious details, nevertheless does not enable the beginner to understand why ALGOL, with a history that would seem more disappointing than triumphant, changed the face of current programming". I can only state that the time scale and my own lesser competence do not allow the tracing of conceptual development in requisite detail. Books are sure to follow in this area, particularly one by Knuth. A further defect in the present work is the relatively lesser availability of European input to the log, although I could claim better access than many in the U.S.A. This is regrettable in view of the relatively stronger support given to ALGOL in Europe. Perhaps this calmer acceptance had the effect of reducing the number of significant entries for a log such as this. Following a brief view of the pattern of events come the entries of the chronology, or log, numbered for reference in the text.
    [Show full text]
  • An Early Program Proof by Alan Turing F
    An Early Program Proof by Alan Turing F. L. MORRIS AND C. B. JONES The paper reproduces, with typographical corrections and comments, a 7 949 paper by Alan Turing that foreshadows much subsequent work in program proving. Categories and Subject Descriptors: 0.2.4 [Software Engineeringj- correctness proofs; F.3.1 [Logics and Meanings of Programs]-assertions; K.2 [History of Computing]-software General Terms: Verification Additional Key Words and Phrases: A. M. Turing Introduction The standard references for work on program proofs b) have been omitted in the commentary, and ten attribute the early statement of direction to John other identifiers are written incorrectly. It would ap- McCarthy (e.g., McCarthy 1963); the first workable pear to be worth correcting these errors and com- methods to Peter Naur (1966) and Robert Floyd menting on the proof from the viewpoint of subse- (1967); and the provision of more formal systems to quent work on program proofs. C. A. R. Hoare (1969) and Edsger Dijkstra (1976). The Turing delivered this paper in June 1949, at the early papers of some of the computing pioneers, how- inaugural conference of the EDSAC, the computer at ever, show an awareness of the need for proofs of Cambridge University built under the direction of program correctness and even present workable meth- Maurice V. Wilkes. Turing had been writing programs ods (e.g., Goldstine and von Neumann 1947; Turing for an electronic computer since the end of 1945-at 1949). first for the proposed ACE, the computer project at the The 1949 paper by Alan M.
    [Show full text]
  • The Advent of Recursion & Logic in Computer Science
    The Advent of Recursion & Logic in Computer Science MSc Thesis (Afstudeerscriptie) written by Karel Van Oudheusden –alias Edgar G. Daylight (born October 21st, 1977 in Antwerpen, Belgium) under the supervision of Dr Gerard Alberts, and submitted to the Board of Examiners in partial fulfillment of the requirements for the degree of MSc in Logic at the Universiteit van Amsterdam. Date of the public defense: Members of the Thesis Committee: November 17, 2009 Dr Gerard Alberts Prof Dr Krzysztof Apt Prof Dr Dick de Jongh Prof Dr Benedikt Löwe Dr Elizabeth de Mol Dr Leen Torenvliet 1 “We are reaching the stage of development where each new gener- ation of participants is unaware both of their overall technological ancestry and the history of the development of their speciality, and have no past to build upon.” J.A.N. Lee in 1996 [73, p.54] “To many of our colleagues, history is only the study of an irrele- vant past, with no redeeming modern value –a subject without useful scholarship.” J.A.N. Lee [73, p.55] “[E]ven when we can't know the answers, it is important to see the questions. They too form part of our understanding. If you cannot answer them now, you can alert future historians to them.” M.S. Mahoney [76, p.832] “Only do what only you can do.” E.W. Dijkstra [103, p.9] 2 Abstract The history of computer science can be viewed from a number of disciplinary perspectives, ranging from electrical engineering to linguistics. As stressed by the historian Michael Mahoney, different `communities of computing' had their own views towards what could be accomplished with a programmable comput- ing machine.
    [Show full text]
  • The Advent of Recursion in Programming, 1950S-1960S
    The Advent of Recursion in Programming, 1950s-1960s Edgar G. Daylight?? Institute of Logic, Language, and Computation, University of Amsterdam, The Netherlands [email protected] Abstract. The term `recursive' has had different meanings during the past two centuries among various communities of scholars. Its historical epistemology has already been described by Soare (1996) with respect to the mathematicians, logicians, and recursive-function theorists. The computer practitioners, on the other hand, are discussed in this paper by focusing on the definition and implementation of the ALGOL60 program- ming language. Recursion entered ALGOL60 in two novel ways: (i) syn- tactically with what we now call BNF notation, and (ii) dynamically by means of the recursive procedure. As is shown, both (i) and (ii) were in- troduced by linguistically-inclined programmers who were not versed in logic and who, rather unconventionally, abstracted away from the down- to-earth practicalities of their computing machines. By the end of the 1960s, some computer practitioners had become aware of the theoreti- cal insignificance of the recursive procedure in terms of computability, though without relying on recursive-function theory. The presented re- sults help us to better understand the technological ancestry of modern- day computer science, in the hope that contemporary researchers can more easily build upon its past. Keywords: recursion, recursive procedure, computability, syntax, BNF, ALGOL, logic, recursive-function theory 1 Introduction In his paper, Computability and Recursion [41], Soare explained the origin of computability, the origin of recursion, and how both concepts were brought to- gether in the 1930s by G¨odel, Church, Kleene, Turing, and others.
    [Show full text]
  • Evidence and Counter-Evidence : Essays in Honour of Frederik
    Evidence and Counter-Evidence Studies in Slavic and General Linguistics Series Editors: Peter Houtzagers · Janneke Kalsbeek · Jos Schaeken Editorial Advisory Board: R. Alexander (Berkeley) · A.A. Barentsen (Amsterdam) B. Comrie (Leipzig) - B.M. Groen (Amsterdam) · W. Lehfeldt (Göttingen) G. Spieß (Cottbus) - R. Sprenger (Amsterdam) · W.R. Vermeer (Leiden) Amsterdam - New York, NY 2008 Studies in Slavic and General Linguistics, vol. 32 Evidence and Counter-Evidence Essays in honour of Frederik Kortlandt Volume 1: Balto-Slavic and Indo-European Linguistics edited by Alexander Lubotsky Jos Schaeken Jeroen Wiedenhof with the assistance of Rick Derksen and Sjoerd Siebinga Cover illustration: The Old Prussian Basel Epigram (1369) © The University of Basel. The paper on which this book is printed meets the requirements of “ISO 9706: 1994, Information and documentation - Paper for documents - Requirements for permanence”. ISBN: set (volume 1-2): 978-90-420-2469-4 ISBN: 978-90-420-2470-0 ©Editions Rodopi B.V., Amsterdam - New York, NY 2008 Printed in The Netherlands CONTENTS The editors PREFACE 1 LIST OF PUBLICATIONS BY FREDERIK KORTLANDT 3 ɽˏ˫˜ˈ˧ ɿˈ˫ː˧ˮˬː˧ ʡ ʤʡʢʡʤʦɿʄʔʦʊʝʸʟʡʞ ʔʒʩʱʊʟʔʔ ʡʅʣɿʟʔʱʔʦʊʝʸʟʷʮ ʄʣʊʞʊʟʟʷʮ ʤʡʻʒʡʄ ʤʝɿʄʼʟʤʘʔʮ ʼʒʷʘʡʄ 23 Robert S.P. Beekes PALATALIZED CONSONANTS IN PRE-GREEK 45 Uwe Bläsing TALYSCHI RöZ ‘SPUR’ UND VERWANDTE: EIN BEITRAG ZUR IRANISCHEN WORTFORSCHUNG 57 Václav Blažek CELTIC ‘SMITH’ AND HIS COLLEAGUES 67 Johnny Cheung THE OSSETIC CASE SYSTEM REVISITED 87 Bardhyl Demiraj ALB. RRUSH, ON RAGUSA UND GR. ͽΚ̨ 107 Rick Derksen QUANTITY PATTERNS IN THE UPPER SORBIAN NOUN 121 George E. Dunkel LUVIAN -TAR AND HOMERIC ̭ш ̸̫ 137 José L. García Ramón ERERBTES UND ERSATZKONTINUANTEN BEI DER REKON- STRUKTION VON INDOGERMANISCHEN KONSTRUKTIONS- MUSTERN: IDG.
    [Show full text]
  • Simulation Higher Order Language Requirements Study
    DOCUMENT RESDEE ED .162 661 IB 066 666 AUTHOR Goodenough, John B.; Eraun, Christine I. TITLE Simulation Higher Order ,Language Reguiresents Study. INSTITUTION' SofTech, Inc., Waltham, Mass. SPONS'AGENCY Air Force Human Resources Lab., Broca_APE,' Texas. REPORT NO AFHPI-TE-78-34 PUB DATE ,Aug 78 NOTE 229.; Not available in hard' copy due to iarginal legibility of parts of document AVAILABLE FROM'Superintendent of Docusents, U.S. Government Printing' Office, Washington, L.C. 20402 (1978-771-122/53) EDRS PRICE MF-$0.83 Plus Postage. EC Not Availatle from EDRS. DESCRIPTORS *Comparative Analysis; Computer Assisted Instruction; *Computer Programs; Evaluation Criteria; Military Training; *Needs Assessment; *Prograaing Iangbaqes; *Simulation IDENTIFIERS FORTRAN; IRCNMAN; JOVIAL; PASCAL ABSTRACT The definitions provided for high order language (HOL) requirements for programming flight/ training simulators are based on the analysis of programs written fcr.a variety of simulators. Examples drawn from these programs are used to justify' the need for certain HOL capabilities. A description of the general 'K..structure and organization of the TRONEAN requirements for the DOI) Common Language effort IS followed-tyditailed specifications of simulator HOL requirements., pvi, FORTRAN, JCVIAI J3E, JCVIAL.J73I, and PASCAL are analyzed to see how well" each language satisfies the simulator HOL requirements. Results indicate that PL/I and JOVIAL J3D are the best suited for simulator programming, chile TOBIRANis clearly the least suitable language. All the larguages failed to satisfy some simulator requirements and improvement modificationsare specified Analysis of recommended modifications shows:that PL/I is the m st easily modified language. (CMV) *********************************************************************** Reproductions suppliid by EDRS are the best that can be made from the original dccumett.
    [Show full text]
  • Latest Results from the Procedure Calling Test, Ackermann's Function
    Latest results from the procedure calling test, Ackermann’s function B A WICHMANN National Physical Laboratory, Teddington, Middlesex Division of Information Technology and Computing March 1982 Abstract Ackermann’s function has been used to measure the procedure calling over- head in languages which support recursion. Two papers have been written on this which are reproduced1 in this report. Results from further measurements are in- cluded in this report together with comments on the data obtained and codings of the test in Ada and Basic. 1 INTRODUCTION In spite of the two publications on the use of Ackermann’s Function [1, 2] as a mea- sure of the procedure-calling efficiency of programming languages, there is still some interest in the topic. It is an easy test to perform and the large number of results ob- tained means that an implementation can be compared with many other systems. The purpose of this report is to provide a listing of all the results obtained to date and to show their relationship. Few modern languages do not provide recursion and hence the test is appropriate for measuring the overheads of procedure calls in most cases. Ackermann’s function is a small recursive function listed on page 2 of [1] in Al- gol 60. Although of no particular interest in itself, the function does perform other operations common to much systems programming (testing for zero, incrementing and decrementing integers). The function has two parameters M and N, the test being for (3, N) with N in the range 1 to 6. Like all tests, the interpretation of the results is not without difficulty.
    [Show full text]
  • International Standard ISO/IEC 14977
    ISO/IEC 14977 : 1996(E) Contents Page Foreword ................................................ iii Introduction .............................................. iv 1Scope:::::::::::::::::::::::::::::::::::::::::::::: 1 2 Normative references :::::::::::::::::::::::::::::::::: 1 3 Definitions :::::::::::::::::::::::::::::::::::::::::: 1 4 The form of each syntactic element of Extended BNF :::::::::: 1 4.1 General........................................... 2 4.2 Syntax............................................ 2 4.3 Syntax-rule........................................ 2 4.4 Definitions-list...................................... 2 4.5 Single-definition . 2 4.6 Syntactic-term...................................... 2 4.7 Syntacticexception.................................. 2 4.8 Syntactic-factor..................................... 2 4.9 Integer............................................ 2 4.10 Syntactic-primary.................................... 2 4.11 Optional-sequence................................... 3 4.12 Repeatedsequence................................... 3 4.13 Grouped sequence . 3 4.14 Meta-identifier...................................... 3 4.15 Meta-identifier-character............................... 3 4.16 Terminal-string...................................... 3 4.17 First-terminal-character................................ 3 4.18 Second-terminal-character . 3 4.19 Special-sequence.................................... 3 4.20 Special-sequence-character............................. 3 4.21 Empty-sequence....................................
    [Show full text]
  • A DATA DEFINITION FACILITY for PROGRAMMING LANGUAGES By
    A DATA DEFINITION FACILITY FOR PROGRAMMING LANGUAGES by T. A. Standish Carnegie Institute of Technology ....... PittsbUrgh, Pennsylvania May 18, 1967 Submitted to the Carnegie Institute of Technology ....... in partial fulfillment of the requirements for the degree of Doctor of Philosophy This work was supported by the Advanced Research Projects Agency of the Office of the Secretary of Defense (SD-146). Abstract This dissertation presents a descriptive notation for data structures which is embedded in a programming language in such a way that the resulting language behaves as a synthetic tool for describing data and processes in a number of application areas. A series of examples including formulae, lists, flow charts, Algol text, files, matrices, organic molecules and complex variables is presented to explore the use of this tool. In addition, a small formal treatment is given dealing with the equivalence of evaluators and their data structures. -ii- Table of Contents Title Page ....................... i Abstract ........................ ii Table of Contents .................... iii Acknowledgments .................... v Chapter I. Introduction .................. 1 Chapter II. A Selective Review of the Work of Others ...... 17 Chapter III. The Data Definition Facility ........... 25 1. Chapter Summary .............. 25 2. General Description .............. 25 3. Component Descriptions ........... 30 4. Elementary Descriptors ........... 34 5. Modified Descriptors ............ 40 6. Descriptor Formulae ............ 48 7. Declaring Descriptor Variables. and Descriptor Procedures ......... 51 8. Predicates, Selectors, Constructors and Declarations ............. 53 9. Constructors ............... 53 10. Selectors ................. 58 11. Predicates ................ 60 12. Declarations ............... 64 13. Reference Variables, Pointer Expressions and the Contents Operation ......... 65 14. Overlay Assignments, Sharing of Structures and Copying of Structures .......... 68 - iii- Table of Contents, Continued 15.
    [Show full text]