General Disclaimer One Or More of the Following Statements May Affect This Document
Total Page:16
File Type:pdf, Size:1020Kb
Load more
Recommended publications
-
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. -
S-Algol Reference Manual Ron Morrison
S-algol Reference Manual Ron Morrison University of St. Andrews, North Haugh, Fife, Scotland. KY16 9SS CS/79/1 1 Contents Chapter 1. Preface 2. Syntax Specification 3. Types and Type Rules 3.1 Universe of Discourse 3.2 Type Rules 4. Literals 4.1 Integer Literals 4.2 Real Literals 4.3 Boolean Literals 4.4 String Literals 4.5 Pixel Literals 4.6 File Literal 4.7 pntr Literal 5. Primitive Expressions and Operators 5.1 Boolean Expressions 5.2 Comparison Operators 5.3 Arithmetic Expressions 5.4 Arithmetic Precedence Rules 5.5 String Expressions 5.6 Picture Expressions 5.7 Pixel Expressions 5.8 Precedence Table 5.9 Other Expressions 6. Declarations 6.1 Identifiers 6.2 Variables, Constants and Declaration of Data Objects 6.3 Sequences 6.4 Brackets 6.5 Scope Rules 7. Clauses 7.1 Assignment Clause 7.2 if Clause 7.3 case Clause 7.4 repeat ... while ... do ... Clause 7.5 for Clause 7.6 abort Clause 8. Procedures 8.1 Declarations and Calls 8.2 Forward Declarations 2 9. Aggregates 9.1 Vectors 9.1.1 Creation of Vectors 9.1.2 upb and lwb 9.1.3 Indexing 9.1.4 Equality and Equivalence 9.2 Structures 9.2.1 Creation of Structures 9.2.2 Equality and Equivalence 9.2.3 Indexing 9.3 Images 9.3.1 Creation of Images 9.3.2 Indexing 9.3.3 Depth Selection 9.3.4 Equality and Equivalence 10. Input and Output 10.1 Input 10.2 Output 10.3 i.w, s.w and r.w 10.4 End of File 11. -
BASIC Session
BASIC Session Chairman: Thomas Cheatham Speaker: Thomas E. Kurtz PAPER: BASIC Thomas E. Kurtz Darthmouth College 1. Background 1.1. Dartmouth College Dartmouth College is a small university dating from 1769, and dedicated "for the educa- tion and instruction of Youth of the Indian Tribes in this Land in reading, writing and all parts of learning . and also of English Youth and any others" (Wheelock, 1769). The undergraduate student body (now nearly 4000) outnumbers all graduate students by more than 5 to 1, and majors predominantly in the Social Sciences and the Humanities (over 75%). In 1940 a milestone event, not well remembered until recently (Loveday, 1977), took place at Dartmouth. Dr. George Stibitz of the Bell Telephone Laboratories demonstrated publicly for the first time, at the annual meeting of the American Mathematical Society, the remote use of a computer over a communications line. The computer was a relay cal- culator designed to carry out arithmetic on complex numbers. The terminal was a Model 26 Teletype. Another milestone event occurred in the summer of 1956 when John McCarthy orga- nized at Dartmouth a summer research project on "artificial intelligence" (the first known use of this phrase). The computer scientists attending decided a new language was needed; thus was born LISP. [See the paper by McCarthy, pp. 173-185 in this volume. Ed.] 1.2. Dartmouth Comes to Computing After several brief encounters, Dartmouth's liaison with computing became permanent and continuing in 1956 through the New England Regional Computer Center at MIT, HISTORY OF PROGRAMMING LANGUAGES 515 Copyright © 1981 by the Association for Computing Machinery, Inc. -
Form. Also Reported Is the Impact That This Project Has Had on the Faculty At
D'ICUMENT R s ltME SE 005 423 ED 024 602 By-Kemeny, John G.; Kurtz, Thomas E. The Dartmouth Time-Sharing ComputingSystem. Final Report. Spons Agency-National Science Foundation,Washington, D.C. Pub Date Jun 67 Grant-NSF-GE-3864 Note- 76p. EDRS Price MF-$0.50 HC-$3.90 Engineering,*HigherEducation, Descriptors- *ComputerAssistedInstruction,*Computers,Curriculum, *Instruction, Mathematics, Physics,Program Descriptions, Psychology Identifiers-Dartmouth College, National ScienceFoundation to Reported are the activitiesinvolved in introducingcomputer programing College as part of their programin liberal education.How this students at Dartmouth students in mathematics. project was accomplishedand the subsequent impact on administration is presentedin summary engineering, psychology,physics, and business the faculty at form. Also reported isthe impact thatthis project has had on Dartmouth and at other institutions.(RP) U.S. DEPARTMENT OF HEALTH,EDUCATION & WELFARE OFFICE OF EDUCATION THIS DOCUMENT HAS BEEN REPRODUCEDEXACTLY AS RECEIVED FROM ME POINTS OF VIEW OR OPINIONS PERSON OR ORGANIZATION ORIGINATINGIT. STATED DO NOT NECESSARILY REPRESENTOFFICIAL OFFICE BF EDUCATION POSITION OR POLICY. THE DARTMOUTHTIME-SHARING COMPUTINGSYSTEM developed under a grant from the Course Content ImprovementProgram National Science Foundation (Grant NSF GE-3864) Final Report June 1967 John G. Kemeny Thomas E. Kurtz Project Director Assoc. Project Director THE DARTMOUTH TIME-SHARING COMPUTINGSYSTEM developed under a grant from the Course Content Improvement Program National Science Foundation (Grant NSF GE-3864) Final Report April 1967 John G. Kemeny Thomas E. Kurtz Project Director Assoc. Project Director TABLE OF CONTENTS Page 1. The Goal of the Project 1 2. What was Accomplished 5 3. Impact on the StudentBody 10 Mathematics 11 Engineering 13 Psychology 15 Physics 17 Business Administration 17 4. -
Compiler Construction
Compiler construction PDF generated using the open source mwlib toolkit. See http://code.pediapress.com/ for more information. PDF generated at: Sat, 10 Dec 2011 02:23:02 UTC Contents Articles Introduction 1 Compiler construction 1 Compiler 2 Interpreter 10 History of compiler writing 14 Lexical analysis 22 Lexical analysis 22 Regular expression 26 Regular expression examples 37 Finite-state machine 41 Preprocessor 51 Syntactic analysis 54 Parsing 54 Lookahead 58 Symbol table 61 Abstract syntax 63 Abstract syntax tree 64 Context-free grammar 65 Terminal and nonterminal symbols 77 Left recursion 79 Backus–Naur Form 83 Extended Backus–Naur Form 86 TBNF 91 Top-down parsing 91 Recursive descent parser 93 Tail recursive parser 98 Parsing expression grammar 100 LL parser 106 LR parser 114 Parsing table 123 Simple LR parser 125 Canonical LR parser 127 GLR parser 129 LALR parser 130 Recursive ascent parser 133 Parser combinator 140 Bottom-up parsing 143 Chomsky normal form 148 CYK algorithm 150 Simple precedence grammar 153 Simple precedence parser 154 Operator-precedence grammar 156 Operator-precedence parser 159 Shunting-yard algorithm 163 Chart parser 173 Earley parser 174 The lexer hack 178 Scannerless parsing 180 Semantic analysis 182 Attribute grammar 182 L-attributed grammar 184 LR-attributed grammar 185 S-attributed grammar 185 ECLR-attributed grammar 186 Intermediate language 186 Control flow graph 188 Basic block 190 Call graph 192 Data-flow analysis 195 Use-define chain 201 Live variable analysis 204 Reaching definition 206 Three address -
Wirth Transcript Final
A. M. Turing Award Oral History Interview with Niklaus Wirth by Elena Trichina ETH, Zürich, Switzerland March 13, 2018 Trichina: My name is Elena Trichina. It is my honor to interview Professor Niklaus Wirth for the Turing Award Winners Project of the Association for Computing Machinery, the ACM. The Turing Award, sometimes referred to as “the Nobel Prize of computing,” is given annually for major contributions of lasting importance in computing. Professor Wirth received his award in 1984 in recognition of his outstanding work in developing a sequence of programming languages – Euler, Algol-W, Pascal, Modula. The hallmarks of Wirth’s languages are their simplicity, economy of design, and high-level engineering. We will talk about it and many other things later today in the interview that takes place on the 13th of March, 2018, in the Swiss Federal Institute of Technology. So we start. Ready? Guten Tag, Niklaus. Gruetzi. Wirth: Добрый ден, Елена Василевна Здравствуи [Good morning, Elena. Hello. – ed.] Trichina: Well, although your command of Russian is sufficient, my command of Swiss German is a little bit rudimentary. Shall we continue in one of the languages where we both feel comfortable? What would it be? French? English? Wirth: Oh, I think English is better for me. Yes, yes. Trichina: Okay. It’s probably better for the audience. [laughs] Wirth: Okay. True. Trichina: Okay. We continue in English. Here in front of me there is a list of the most important days in your life. You were born in February 1934 in Winterthur, which is a sort of middle-size industrial town in Switzerland. -
IMP with Exceptions Over Decorated Logic Burak Ekici
IMP with exceptions over decorated logic Burak Ekici To cite this version: Burak Ekici. IMP with exceptions over decorated logic. Discrete Mathematics and Theoretical Com- puter Science, DMTCS, 2018, vol. 20 no. 2. hal-01132831v9 HAL Id: hal-01132831 https://hal.archives-ouvertes.fr/hal-01132831v9 Submitted on 12 Oct 2018 HAL is a multi-disciplinary open access L’archive ouverte pluridisciplinaire HAL, est archive for the deposit and dissemination of sci- destinée au dépôt et à la diffusion de documents entific research documents, whether they are pub- scientifiques de niveau recherche, publiés ou non, lished or not. The documents may come from émanant des établissements d’enseignement et de teaching and research institutions in France or recherche français ou étrangers, des laboratoires abroad, or from public or private research centers. publics ou privés. Discrete Mathematics and Theoretical Computer Science DMTCS vol. 20:2, 2018, #11 IMP with exceptions over decorated logic Burak Ekici University of Innsbruck, Department of Computer Science, Innsbruck, Austria received 18th Apr. 2017, revised 23rd Feb. 2018, 21st Sep. 2018, accepted 5th Oct. 2018. In this paper, we facilitate the reasoning about impure programming languages, by annotating terms with “decorations” that describe what computational (side) effect evaluation of a term may involve. In a point-free categorical language, called the “decorated logic”, we formalize the mutable state and the exception effects first separately, exploiting a nice duality between them, and then combined. The combined decorated logic serves as the target language for the denotational semantics of the IMP+Exc imperative programming language, and allows us to prove equivalences between programs written in IMP+Exc. -
Mathematical Software 5
Copyright © 1977, by the author(s). All rights reserved. Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. To copy otherwise, to republish, to post on servers or to redistribute to lists, requires prior specific permission. BIBLIOGRAPHY ON NUMERICAL SOFTWARE by Bo Einarsson Permanent affilation: FORSVARETS FORSKNINGSANSTALT (FOA) National Defence Research Institute Department 2/Proving Grounds Box 98, S-147 00 Tumba, Sweden Memorandum No. UCB/ERL M77/19 25 March 1977 » e - % ELECTRONICS RESEARCH LABORATORY College of Engineering University of California, Berkeley 94720 BIBLIOGRAPHY ON NUMERICAL SOFTWARE by Bo Einarsson Permanent affilation: FORSVARETS FORSKNINGSANSTALT (FOA) National Defence Research Institute Department 2/Proving Grounds Box 98, S-147 00 Tumba, Sweden Memorandum No. UCB/ERL M77/19 25 March 1977 BIBLIOGRAPHY ON NUMERICAL SOFTWARE by Bo Einarsson Permanent affilation: FO*RSVARETS FORSKNINGSANSTALT (FOA) National Defence Research Institute Department 2/Proving Grounds Box 98, S-147 00 Tumba, Sweden Memorandum No. UCB/ERL M77/19 25 March 1977 Abstract; This bibliography has been written at the request of the IFIP Working Group on Numerical Software (IFIP WG .2.5), and is intended to serve both members of the working group and others intent on improving numerical software. It has been divided into twenty-one different areas. Within each area the references are given in alphabetical order by the first author. -
Docworks PDF 600
P!l)_n.ted a.t .the Mathematic.al Cen.tJie, 413 K/f./.JMlaan, Am6.te.Jtdam. The Mathematic.al Cen.tJie , 6011.nded .the 11-.th 06 Feb'1.U1V1.IJ 1946, ,u., a non p!W 6U w:Ut.u.:tio n aJm.ing a.t .the pJWmo:Uo n o 6 pwr.e ma.the.ma:Ue!i and ill., appUc.ationJ.,. 1.t ,u., -6poY11.>01Led by .the Ne.the.Jtland6 Gove.Jtnmen.t .th!Wu.gh .the Ne..the.Jtland6 O!Lganiza:Uon 6DIL .the Advanc.e.men.t 06 PUILe Re-6e.a!Lc.h {Z.W.0.). MATHEMATICAL CENTRE TRACTS 134 PROCEEDINGS INTERNATIONAL CONFERENCE ON ALGOL 68 J.C. van VLIET (ed.) H. WUPPER (ed.) RECHENZENTRUM DER RUHR-UNIVERSITAT BOCHUM, BRD, MARCH 30-31, 1981 MATHEMATISCH CENTRUM AMSTERDAM 1981 1980 Mathematics·subjectclassification: 68-06,68B10,68B20 Co~uting Reviews: 4.22,1.52,4.34,4.12,5.23 l. INTRODUCTION "What can we do with ALGOL 68?" is the question raised by the chairman of the Standing Subcommittee on ALGOL 68 Support in the first contribution to this conference. The three main topics of the conference suggest three possible answers to this question: one can teach the language, implement it, and apply it. The papers collected in these proceedings deal with various aspects of teaching, implementation, and applications. They do not attempt to fully answer the question of what can be done, but they hopefully will provide some useful pieces of information, both to those who want to learn more about the,language, and to those who are actually involved in problems in the areas addressed. -
Evolution of the Major Programming Languages Genealogy of Common Languages Zuse’S Plankalkül
CHAPTER 2 Evolution of the Major Programming Languages Genealogy of Common Languages Zuse’s Plankalkül • Designed in 1945, but not published until 1972 • Never implemented • Advanced data structures • floating point, arrays, records • Invariants Plankalkül Syntax • An assignment statement to assign the expression A[4] + 1 to A[5] | A + 1 => A V | 4 5 (subscripts) S | 1.n 1.n (data types) Minimal Hardware Programming: Pseudocodes • What was wrong with using machine code? • Poor readability • Poor modifiability • Expression coding was tedious • Machine deficiencies--no indexing or floating point Pseudocodes: Short Code • Short Code developed by Mauchly in 1949 for BINAC computers • Expressions were coded, left to right • Example of operations: 01 – 06 abs value 1n (n+2)nd power 02 ) 07 + 2n (n+2)nd root 03 = 08 pause 4n if <= n 04 / 09 ( 58 print and tab Pseudocodes: Speedcoding • Speedcoding developed by Backus in 1954 for IBM 701 • Pseudo ops for arithmetic and math functions • Conditional and unconditional branching • Auto-increment registers for array access • Slow! • Only 700 words left for user program Pseudocodes: Related Systems • The UNIVAC Compiling System • Developed by a team led by Grace Hopper • Pseudocode expanded into machine code • David J. Wheeler (Cambridge University) • developed a method of using blocks of re-locatable addresses to solve the problem of absolute addressing IBM 704 and Fortran • Fortran 0: 1954 - not implemented • Fortran I:1957 • Designed for the new IBM 704, which had index registers and floating point -
Some Tools for Automating the Production Of
SOME TOOLS FOR AUTOMATING THE PRODUCTION OF COMPILERS AND OTHER TRANSLATORS by Christopher Lester, B.Sc., M.Sc. April 1982 A thesis submitted for the degree of Doctor of Philosophy of the University of London and for the Diploma of Membership of the Imperial College. Department of Computing and Control, Imperial College, London S.W.7. 3 ABSTRACT This thesis explores possible tools to cheapen the creation of compilers of sufficient quality for studies in programming language design. A literature study showed only (many) incomplete leads towards the: goal: this prompted an analysis of what properties such tools must have and might have, notably the forms of the inputs. The key conclusion is that it is desirable to describe the source language and (separately) the machine instructions, rather than a translation between them. A design according to this conclusion is proposed, and implementations of the crucial parts of the design are presented. The description of the language is given in four parts. The first two describe the lexis and syntax: the third gives transformations from the syntactic constructs to intermediate language (IL). An implemented tool considers inter-relationships between the transform cases, and from these inter-relationships fabricates the required case-analysis code to select which transforms to apply for instances of the syntax. A parser consistent with the case analysis is also f abricated. The fourth part of the language description describes the IL in terms of machine description language (MDL), which is also used to describe the instructions of the target machine. Another tool is parameterised by these descriptions: it then inputs an IL sequence, analyses it for its data-flow tree, converts that into a tree rep- resenting the corresponding MDL sequence, and finally chooses an optimised machine instruction sequence equivalent to the original IL sequence. -
An Interview with Edsger W. Dijkstra the Computer Science Luminary, in One of His Last Interviews Before His Death in 2002, Reflects on a Programmer’S Life
viewpoints Vdoi:10.1145/1787234.1787249 Thomas J. Misa, Editor Interview An Interview with edsger W. dijkstra The computer science luminary, in one of his last interviews before his death in 2002, reflects on a programmer’s life. he charles Babbage InstItute holds one of the world’s largest collections of re- search-grade oral history interviews relating to the Thistory of computers, software, and networking. Most of the 350 inter- views have been conducted in the context of specific research projects, which facilitate the interviewer’s ex- tensive preparation and often sug- gest specific lines of questions. Tran- scripts from these oral histories are a key source in understanding the his- tory of computing, since traditional historical sources are frequently in- complete. This interview with pro- gramming pioneer Edsger Dijkstra (1930–2002) was conducted by CBI researcher Phil Frana at Dijkstra’s home in Austin, TX, in August 2001 for a NSF-KDI project on “Building a Future for Software History.” Winner of ACM’s A.M. Turing Award in 1972, Dijkstra is well known for his contributions to computer n I science as well as his colorful assess- ust a ments of the field. His contributions to this magazine continue to enrich exas at t F new generations of computing scien- ty o I tists and practitioners. ers iv We present this interview post- n u e humously on the eighth anniver- Th F sary of Dijkstra’s death at age 72 in August 2002; this interview has been ourtesy o condensed from the complete tran- C ph script, available at http://www.cbi.umn.