9789949199709.Pdf

Total Page:16

File Type:pdf, Size:1020Kb

9789949199709.Pdf Tartu Ülikool Matemaatika-informaatikateaduskond Arvutiteaduse instituut Ain Isotamm TRANSLAATORITE TEGEMISE SÜSTEEM Tartu 2012 Toimetaja: Ahti Peder Käesoleva õpiku väljaandmist on toetanud Euroopa Sotsiaalfondi projekt „Informaatika ja infotehnoloogia magistriõppekavade arendamine Tartu Ülikooli arvutiteaduse instituudis koostöös Eesti infotehnoloogiaettevõtetega“. Küljendus: Ain Isotamm Keeletoimetus ja trükk: Tartu Ülikooli Kirjastus Autoriõigus: Ain Isotamm, 2012 ISBN 978-9949-19-970-9 Tartu Ülikooli Kirjastus www.tyk.ee SAATEKS See raamat on mõeldud eeskätt TÜ matemaatika-informaatikateaduskonna üliõpilastele õppe- materjaliks ainete „Automaadid, keeled ja translaatorid“ ja „Transleerimismeetodid“ omanda- mise hõlbustamiseks, ent mitte ainult − võib juhtuda, et sellest on abi ka rakendajale, kes peab realiseerima mingil masinal mingi (programmeerimis)keele, s.o. kirjutama programmide (pro tekstide) interpretaatori või kompilaatori1. Selle raamatu esimene2 kaasautor pidanuks olema Mati Tombak, kes raamatu kavandamisel arvas, et ta katab teoreetilised teemad, ent kirjutamist alustades selgus, et selleks eeldatud aeg oli liiga optimistlik. Millest on siiralt kahju: minu teooria-alane tekst tugineb nende kaante vahel Matilt õpitule (esmatutvuseks oli ta loengukursus TRÜs 1974. a. sügisel, mis oli orien- teeritud kõigile huvilistele). Ja kui matemaatikateaduskonnas oli paarkümmend aastat hiljem (kevadel 1998) vaja leida lektor uue kursuse „Kompilaatorid“ (teooria rakenduslik osa pluss realisatsioon) jaoks ja kui Tombak kutsus mind seda tegema3, siis pidin nõustuma, kuivõrd polnuks eetiline keelduda. Samas polnud meil “elusat” mikroarvutitel töötavat TTSi (M. Tombaku eestvedamisel olid tehtud süsteemid Minsk-32, Iskra, Apple’i, CM-4, EC-1020 ja PC XT jaoks) ja et valdkonda terviklikult tunnetada ning mitte piirduda õppetöös pelgalt tahvliga, suvel enne septembrit realiseerida TTS, kusjuures − taas tunnetuse huvides − ei tundnud ma huvi eelmiste realisatsioonide andmestruktuuride ja neil töötavate programmide vastu (mis olnuks ka võimatu, kuivõrd “vanad tegijad”, eeskätt M. Tombak, Jaanus Pöial ja Viljo Soo puhkasid). Niisiis, teoreetiliselt oli kõik paigas ning realisatsiooniks võtsin endale vabad käed. Käes- olevas raamatus püüan tutvustada teoreetilisi põhitõdesid ja üht võimalikku realisatsiooni ühe võimaliku variandi − eelnevusmeetodit kasutava alt-üles-analüüsi − näitel. Süntaksorienteeritud transleerimise meetodeid on palju4; ma ei tea, et neid oleks suudetud vastuvaidlematult järjestada kehtestamaks etaloni. Seetõttu (ja sellegipärast, et meie õppe- vahendi eesmärk pole nende variantide tutvustamine, vaid näitamine, kuidas selline lähene- mine toimib) kirjeldame allpool kontekstivabadele eelnevusgrammatikatele baseeruvate (pro- grammeerimis)keelte sõnade (resp. programmide) analüüsi puude automaatset genereerimist ning variante (kui keel on programmeerimiskeel) nonde puude interpreteerimise kaudu kas programmi tulemuste väljastamist või neid resultaate arvutada võimaldava koodifaili (.exe- fail) genereerimist. Seejuures, tänapäeval ei üritata reeglina genereerida resultaatfailina ma- sinkoodi, vaid teksti mõnes muus, juba efektiivselt realiseeritud programmeerimiskeeles (nt. 1 Nii pidi nt. Ahti Peder (selle raamatu toimetaja) oma magistritöö koostamisel kirjutama translaatori oma- konstrueeritud keelele Formula. Ja selleks kasutas ta meie süsteemi, sj. oli oma roll ka juhendajal Mati Tomba- kul. Ning Formula polegi programmeerimiskeel tavamõttes (vt. lisa 12). 2 Teise kaasautorina tegutses üsna kaua Nikita Šipilov, kes käsitles oma bakalaureusetöös [Šipilov] regulaarseid grammatikaid ning regulaaravaldisi tuvastavate automaatide genereerimist ja neist asjust pidi ta meie ühises raamatus ka kirjutama mõned peatükid pluss lisad; paraku muutusid aga temagi plaanid. 3 Töötasin ikka veel majandusteaduskonnas ja olin õpetanud majandusküberneetika tudengitele mingis ulatuses (kriidi ja tahvli abil) seda ainet. Mati meeskonnas olin varem kirjutanud analüüsi hõreda puu moodustaja TTSi Minsk-32 versioonile ning osalesin tagasihoidlikul määral ka projektis Modula-2 → Forth. 4 Vt. nt. Jaak Henno ([Henno], lk. 101 jj.) raamatut. 3 Forth1 või assembler − nagu ka nende kaante vahel näidatakse Inteli assembleri jaoks), või mõni baitkood − meie TTSi jaoks tegid seda oma bakalaureusetöödes 2008. aasta kevadel Henri Lakk (Java baitkood) ning 2009. a. Einar Pius (MONO ja .NET). Joonis s1. Ajurünnak koos Mati Tombakuga, 1974. aasta. Mõteldes avaloengule matemaatikatudengite ees2, püüdsin muidugi ette valmistuda, ja pea- küsimuseks enda (ning oletatavasti auditooriumi) jaoks oli: miks on selline aine üldse õppe- kavas. Kuivõrd translaatorite kirjutamine oli juba ammu „tehasemeeskondade“ pärusmaa ning tõenäosus, et mõni minu kuulaja peaks tulevikus tõepoolest sellises meeskonnas grupijuhina tööle hakkama, ei tundunud ei siis ega tundu ka nüüd kuigi suurena. Ent mõtlesin välja mõned põhjendused. • Millegipärast on see teema vist kõikide arvestatava taseme IT-haridust andvate kõrg- koolide õppekavades (kui uskuda Internet’ti). • Mulle tundub, et teadmata, kuidas mingit programmeerimiskeelt realiseeritakse, pole võimalik toda keelt kui programmeerimisvahendit lõpuni mõista3. Ja paradoksaalsel moel on kerge tekkida arvamusel, et masin (pro translaator) on „tark“ ja suudab ise programmeerimisvigadega (nii süntaktiliste kui ka semantilistega) hakkama saada4. 1 Mati Tombaku meeskond realiseeris nii translaatori Modula-2 → Forth. 2 Olemata haritud matemaatik; olen lõpetanud TRÜ rahanduse ja krediidi erialal 1965. a. ning TPI aspirantuuri statistika üldteooria alal, milles kaitsesin ka kandidaadikraadi 1972. a. Vilniuses. Pean nentima, et ma pisut kartsin oma kuulajaskonda (hoolimata tõigast, et olen 1971. aastast olnud professionaalne programmeerija). 3 Hea sõber Tõnis Kelder põhjendas, miks ta võttis vastu Mark Nemenmani pakkumise teha C-kompilaator Minski tehase mikromasinale, järgmiselt: „Tahtsin teada, kuidas C toimib, ja parim variant selleks oli kompilaatori kirjutamine.” (vt. ka [Isotamm 2009], lk. 37 jj.). 4 Tegelikult olid viimased „täisinformatsiooniga“ illusioonivabad programmeerijad need, kes kirjutasid masin- koodi ilma operatsioonisüsteemi toeta (nagu TPI meeskond Eesti Raadio arvutuskeskuses, kus masina Razdan-3 tehasepoolseks toeks olid ainult primitiivsed sisend-/väljund- ja tüübiteisendusfunktsioonid (vt. nt. [Isotamm 2007], lk. 47 jj.)); operatsioonisüsteem peidab programmeerija eest vähem infot kui translaator. Ent − nii op- süsteem kui ka translaator on programmeerija jaoks „mudakiht“ inimese ja „raua“ vahel. Mõlemad teevad elu lihtsamaks, ent hägustavad tunnetust − eriti, kui ei tea, kuidas nad on tehtud, ja millised on sealjuures mada- laima taseme programmid. 4 • Programmeerimiskeelte realiseerimise kursus haakub orgaaniliselt meie instituudi teiste baaskursustega, nagu „Programmeerimine“, „Algoritmid ja andmestruktuurid (A&A)“, „Programmeerimiskeeled“ ning „Transleerimismeetodid“. Tundub, et kõik need kursused on tervikliku tunnetuse saamiseks vältimatult vajalikud. • Edasi, praktiliselt kõik A&A andmestruktuurid ja algoritmid on transleerimiskursuses kasutusel: stringid, ahelad, vektorid, massiivid, puud, magasinid, struktuurid, tabelid, järjestamine, paisksalvestus, automaadid jne. Seega, meie kursuse võtmine peaks toe- tama A&A praktilist väljundit (loe: tõsiseltvõetavust). • Tegelikult tuleb pea igal professionaalil lahendada ülesandeid, kus algandmed on min- gil moel organiseeritud ning nende protsessimiseks tundub otstarbekana kirjutada „preprotsessor“ − triviaalne translaator, saamaks mugavaid andmestruktuure. • Mõnikord on spetsiifilise ülesande lahendamiseks kasulik programmeerida translaator (alates grammatika koostamisest, näiteks [Peder, Tombak, Isotamm] ja selle abil üles- anne lahendada [Peder, Tombak]). Ja kümmekond aastat hiljem, lugedes David Gallesi raamatu [Galles] 1. peatüki sissejuhatust (lk. 1), oli pigem meeldiv kui üllatav tõdeda, et ka D. G. küsib endalt, miks peaks noor bakaeelik raiskama aega kompilaatorite kirjutamise tehnikale teadmises, et ta sellega kunagi tegelema ei hakka. Ja et põhjendusi on selles raamatus kolm. • Professionaal kasutab kompilaatorit iga päev ja see vahend ei tohi olla tema jaoks must kast, kui ta tahab kirjutada efektiivset koodi. • Ehkki väga vähesed meist kirjutavad iga päev kompilaatoreid, kirjutavad paljud meist nende juppe, näiteks HTML või XML alamhulkade interpreteerimiseks või siis muude andmestruktuuride mugavaks teisendamiseks. • Ja kolmandaks, kompilaatori kirjutamine sunnib meid olema kodus kõigis süsteem- programmeerimise valdkondades (automaadid, keerukad andmestruktuurid jne. jne.). Minu TTS-süsteemi esimene versioon valmis MS-DOSi keskkonnas (kasutades graafilise lii- dese valmistamiseks Stan Milami vabavaralist menüüde tegemise süsteemi), teine versioon − Windowsi keskkonnas − valmis paar aastat hiljem, tollase tudengi Gunnar Kudrjavetsi tungiva soovituse ja asjaliku teeleaitamise toel. Minu TTSi silmatorkavaim vajakajäämine seisneb seigas, et lekseemiklasside (identifikaatorid ja konstandid reaalselt, stringid ja kommentaarid potentsiaalselt) elementide tuvastaja on skannerisse „sisse programmeeritud“, selmet kasutada regulaarseid grammatikaid ja nende defineeritud sõnade (regulaaravaldiste) tuvastamiseks genereeritavat automaati. Mul oli selle asja jaoks paar hägusat ideed ja minu õnneks hakkas see teema huvitama Nikita Šipilovit, kes sai oma bakalaureusetöös [Šipilov] rakendatava resultaadi. Nagu juba ülalpool mainitud, ka- vatsesime tema tulemusi
Recommended publications
  • Computer Conservation Society
    Issue Number 52 Autumn 2010 Computer Conservation Society Aims and objectives The Computer Conservation Society (CCS) is a co-operative venture between the British Computer Society (BCS), the Science Museum of London and the Museum of Science and Industry (MOSI) in Manchester. The CCS was constituted in September 1989 as a Specialist Group of the British Computer Society. It is thus covered by the Royal Charter and charitable status of the BCS. The aims of the CCS are: To promote the conservation of historic computers and to identify existing computers which may need to be archived in the future, To develop awareness of the importance of historic computers, To develop expertise in the conservation and restoration of historic computers, To represent the interests of Computer Conservation Society members with other bodies, To promote the study of historic computers, their use and the history of the computer industry, To publish information of relevance to these objectives for the information of Computer Conservation Society members and the wider public. Membership is open to anyone interested in computer conservation and the history of computing. The CCS is funded and supported by voluntary subscriptions from members, a grant from the BCS, fees from corporate membership, donations, and by the free use of the facilities of both museums. Some charges may be made for publications and attendance at seminars and conferences. There are a number of active Projects on specific computer restorations and early computer technologies and software.
    [Show full text]
  • Computer Conservation Society
    Issue Number 88 Winter 2019/20 Computer Conservation Society Aims and Objectives The Computer Conservation Society (CCS) is a co-operative venture between BCS, The Chartered Institute for IT; the Science Museum of London; and the Science and Industry Museum (SIM) in Manchester. The CCS was constituted in September 1989 as a Specialist Group of the British Computer Society. It is thus covered by the Royal Charter and charitable status of BCS. The objects of the Computer Conservation Society (“Society”) are: To promote the conservation, restoration and reconstruction of historic computing systems and to identify existing computing systems which may need to be archived in the future; To develop awareness of the importance of historic computing systems; To develop expertise in the conservation, restoration and reconstruction of historic computing systems; To represent the interests of the Society with other bodies; To promote the study of historic computing systems, their use and the history of the computer industry; To publish information of relevance to these objectives for the information of Society members and the wider public. Membership is open to anyone interested in computer conservation and the history of computing. The CCS is funded and supported by a grant from BCS and from donations. There are a number of active projects on specific computer restorations and early computer technologies and software. Younger people are especially encouraged to take part in order to achieve skills transfer. The CCS also enjoys a close relationship with the National Museum of Computing. Resurrection The Journal of the Computer Conservation Society ISSN 0958-7403 Number 88 Winter 2019/20 Contents Society Activity 2 News Round-Up 9 The Data Curator 10 Paul Cockshott From Tea Shops to Computer Company: The Improbable 15 Story of LEO John Aeberhard Book Review: Early Computing in Britain Ferranti Ltd.
    [Show full text]
  • Short Bios of Attendees Peter Mcburney Is a David Hales Is a Senior Professor of Computer Research Fellow at the Science and Head of the Open University
    Short Bios of Attendees Peter McBurney is a David Hales is a senior Professor of Computer research fellow at The Science and Head of the Open University. I do Department of Informatics at research at the overlap King's College London. He is a member of the Agents and between computer Intelligent Systems (AIS) science and social Group of the Department. McBurney's research science. I am interested in focuses on several areas in multi-agent software open distributed systems that include both machine and human agencies where the systems including: agent communications imposition of central control is not an option and languages (ACLs) and protocols; multi-agent one can't rely on the "invisible hands" of simulation models of public policy and corporate orthodox economic (or game) theory. strategy domains; the presence of reflective intelligent entities able to learn, and able Jeffrey Johnson is Professor of themselves to model the environment they are Complexity Science and Design. in; cyber conflict, cyberwar and cyberweapons. I joined the Open University in Seth Bullock is Professor in 1980 after three years as Senior the Agents, Interaction and Research Associate in the Complexity Group and the Geography Department of Cambridge University, and six Institute for Complex Systems years as Research Fellow in the Mathematics Simulation at the University of Department of Essex University. Southampton. My principal research interest is evolutionary simulation modelling: the Jeremy Pitt is Reader in, and, application of evolutionary modelling techniques deputy head of the Intelligent developed within artificial intelligence (e.g., Systems and Networks Group at genetic algorithms) to problems within evolutionary biology (e.g., the evolution of Imperial College.
    [Show full text]
  • Alan Turingturing –– Computercomputer Designerdesigner
    AlanAlan TuringTuring –– ComputerComputer DesignerDesigner Brian E. Carpenter with input from Robert W. Doran The University of Auckland May 2012 Turing, the theoretician ● Turing is widely regarded as a pure mathematician. After all, he was a B-star Wrangler (in the same year as Maurice Wilkes) ● “It is possible to invent a single machine which can be used to compute any computable sequence. If this machine U is supplied with the tape on the beginning of which is written the string of quintuples separated by semicolons of some computing machine M, then U will compute the same sequence as M.” (1937) ● So how was he able to write Proposals for development in the Mathematics Division of an Automatic Computing Engine (ACE) by the end of 1945? 2 Let’s read that carefully ● “It is possible to inventinvent a single machinemachine which can be used to compute any computable sequence. If this machinemachine U is supplied with the tapetape on the beginning of which is writtenwritten the string of quintuples separated by semicolons of some computing machinemachine M, then U will compute the same sequence as M.” ● The founding statement of computability theory was written in entirely physical terms. 3 What would it take? ● A tape on which you can write, read and erase symbols. ● Poulsen demonstrated magnetic wire recording in 1898. ● A way of storing symbols and performing simple logic. ● Eccles & Jordan patented the multivibrator trigger circuit (flip- flop) in 1919. ● Rossi invented the coincidence circuit (AND gate) in 1930. ● Building U in 1937 would have been only slightly more bizarre than building a differential analyser with Meccano.
    [Show full text]
  • ATLAS@50 Then and Now
    ATLAS@50 Then and now Science & Technology Facilities Council The origins of Atlas In the years following the Second World War, there was huge interest in nuclear physics technologies both for civilian nuclear energy research and for military nuclear weapons. These technologies required ever-increasing amounts of computer power to analyse data and, more importantly, to perform simulations far more safely than would be possible in a laboratory. By 1958, 75% of Britain’s R&D computer power was provided by the Atomic Energy Authority (UKAEA) at Aldermaston (using an American IBM 704), Risley, Winfrith and Harwell (each using a British Ferranti Mercury). These were however what we would now call The advisory panel for the super-computer single-user systems, capable of running only included Freddy Williams (a pioneer in radar and Foreword one program at a time, so were essentially very computer technology) from Victoria University large desktop calculators. Indeed, the name of Manchester, Maurice Wilkes (designer of It is now known as Rutherford Appleton Laboratory buildings R26 and R27, but over “computer” referred to the human operator; EDSAC, the Electronic Delay Storage Automatic its 50+ year history, the Atlas Computer Laboratory in the parish of Chilton has been the machinery itself was known as an Calculator) from Cambridge, Albert Uttley of the “automatic calculating machine.” RRE (Royal Radar Establishment), and Ted Cooke- part of many seminal moments in computing history. Yarborough (designer of the Dekatron and CADET British manufacturers of automatic calculating computers) from AERE Harwell; Christopher Over its 50+ year history it has also housed It was cleaned and restored as far as we could, machines were doing well until IBM announced Strachey (a pioneer in programming language many mainframe and super-computers including and took pride of place at an event held to that their first transistorised computer was to design) was in charge of design.
    [Show full text]
  • Curriculum Vitae (PDF)
    CURRICULUM VITAE JOHNSTON, RONALD JOHN Date of Birth: 30 March 1941 ACADEMIC CAREER 1959-1964 School of Geography, University of Manchester: Wiltshire County Scholarship 1959-1962 B.A. Honours, Class II.I June 1962 State Studentship in Arts 1962-1963 MA June 1964. 1964-1966 Department of Geography, Monash University 1964 Teaching Fellow 1965 Senior Teaching Fellow 1966 Lecturer 1967 PhD 1967-1974 Department of Geography, University of Canterbury 1967-1968 Lecturer 1969-1972 Senior Lecturer 1973-1974 Reader 1974-1992 Department of Geography, University of Sheffield 1974- Professor 1982-5 Head of Department. 1989-1992 Pro-Vice-Chancellor for Academic Affairs, University of Sheffield. 1992-1995 Vice-Chancellor, University of Essex 1995- Professor of Geography, University of Bristol 1999- Adjunct Professor, Department of Human Geography, Macquarie University 2003- Member, Centre for Market and Public Organisation, Department of Economics, University of Bristol AWARDS 1969 Erskine Fellow, University of Canterbury. Fellowship awarded to enable attendance at international conferences in U.S.A. and U.K. and to undertake research in Venezuela, Colombia, Ecuador and Peru. 1972 Visiting Associate Professor, Department of Geography, University of Toronto. 1973 Academic Visitor, Department of Geography, London School of Economics and Political Science. 1973 British Council Commonwealth Academic Interchange Scheme, Travel Fellowship. 1976 Official Overseas Guest, South African Geographical Society Quadrennial Conference, University of Orange Free State, Bloemfontein and Visiting Professor, Department of Geography and Environmental Studies, University of the Witwatersrand, Johannesburg. 1985 Official Conference Guest, Conference of Irish Geographers, Carysfort College, Blackrock, February 1985. 1985 Recipient of the Murchison Award of the Royal Geographical Society, London, for contributions to political geography.
    [Show full text]
  • 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
    [Show full text]
  • The Atlas Story
    The Atlas story. Simon Lavington. Second edition, 6 th December 2012. Contents. Introduction page 1 Birth pains 1 Atlas at Manchester 1 Ferranti and the market place 5 Timeline 6 Technical innovations: facts and figures 6 The London Atlas 8 The Chilton Atlas 9 The Atlas 2 developments 11 Titan at Cambridge 13 Atlas 2 at AWRE Aldermaston 13 Atlas 2 at the CAD centre 13 More technical details of Atlas installations 15 Physical layout 17 Organisation of the Atlas storage hierarchy 17 Format of an Atlas instruction. 19 Guide to the Atlas Supervisor 20 People and places 21 More information 22 Originally produced for the Atlas Symposium held on 5 th December 2012 in the School of Computer Science, Kilburn Building, University of Manchester. It is a pleasure to acknowledge the help given by many former Atlas pioneers in the writing of this brochure. Comments on the text are welcomed and should be sent to Simon Lavington : [email protected] Picture credits to copyright holders. Computer Laboratory, University of Cambridge: Figure 9 Graham Penning: Figure 10 Simon Lavington: Figure 3 Iain MacCallum: Front cover Museum of Science & Industry, Manchester Figures 1, 2, 4, 5, 6 STFC Rutherford Appleton Laboratory: Figures 7a, 7b, 8 (On 5 th December the original printed version of this document had a cover design based on photographs of the Atlas at Manchester University in 1963). i By the end of 1955 there were less than 16 production digital computers in use in the UK. They were of five British designs, from five different companies, and were single-user systems with practically no systems software.
    [Show full text]
  • Whatever Happened to the Other Turing Machine?
    WhateverWhatever HappenedHappened toto thethe OtherOther TuringTuring Machine?Machine? Brian E. Carpenter Robert W. Doran The University of Auckland ACE2012 June 2012 WhateverWhatever HappenedHappened toto thethe OtherOther TuringTuring Machine?Machine? Brian E. Carpenter Robert W. Doran The University of Auckland ACE2012 June 2012 How we started ● In 1975, we (BEC and RWD) were lowly academics in the CS Department at Massey University, Palmerston North, New Zealand. ● There wasn’t much to do in Palmerston North at the weekend, and more seriously, research funding for CS was hard to get. ● We were both interested in computer architecture and its history. ● In 1975, computer history was largely American – the computer was the von Neumann machine and everybody knew about ENIAC and EDVAC. ● Early British computers were viewed as a footnote. 3 Inputs ● Turing was known as a theoretician and for his work on AI. ● But the first paper on ACE did say “based on an earlier design by A M Turing” (Wilkinson 1954). ● A trade press article by Rex Malik described Turing as “a four in the morning system kicker” - that didn’t sound like a theoretician. ● There were rumours of secret stuff happening during World War II, and there were Brian Randell’s 1972 paper and 1973 book. ● The Ultra secret was blown in 1974. ● In 1972, NPL issued a reprint of Turing’s 1945/46 ACE report; we got hold of it in 1975. 4 Processing the input ● Reading, in 1975, what Turing wrote in 1945 was an astounding experience. ● Of course, he’d read the EDVAC report by von Neumann, but the ACE proposal went much further.
    [Show full text]
  • Core Magazine May 2001
    MAY 2001 CORE 2.2 A PUBLICATION OF THE COMPUTER MUSEUM HISTORY CENTER WWW.COMPUTERHISTORY.ORG A TRIBUTE TO MUSEUM FELLOW TOM KILBURN PAGE 1 May 2001 A FISCAL YEAR OF COREA publication of The Computer Museum2.2 History Center IN THIS MISSION ISSUE CHANGE TO PRESERVE AND PRESENT FOR POSTERITY THE ARTIFACTS AND STORIES OF THE INFORMATION AGE VISION INSIDE FRONT COVER At the end of June, the Museum will end deserved rest before deciding what to Visible Storage Exhibit Area—The staff TO EXPLORE THE COMPUTING REVOLUTION AND ITS A FISCAL YEAR OF CHANGE John C Toole another fiscal year. Time has flown as do next. His dedication, expertise, and and volunteers have worked hard to give IMPACT ON THE HUMAN EXPERIENCE we’ve grown and changed in so many smiling face will be sorely missed, the middle bay a new “look and feel.” 2 ways. I hope that each of you have although I feel he will be part of our For example, if you haven’t seen the A TRIBUTE TO TOM KILBURN already become strong supporters in future in some way. We have focused new exhibit “Innovation 101,” you are in Brian Napper and Hilary Kahn every aspect of our growth, including key recruiting efforts on building a new for a treat. EXECUTIVE STAFF our annual campaign–it’s so critical to curatorial staff for the years ahead. 7 John C Toole FROM THE PHOTO COLLECTION: our operation. And there’s still time to Charlie Pfefferkorn—a great resource Collections—As word spreads, our EXECUTIVE DIRECTOR & CEO 2 CAPTURING HISTORY help us meet the financial demands of and long-time volunteer—has been collection grows, which emphasizes our Karen Mathews Chris Garcia this year’s programs! contracted to help during this transition.
    [Show full text]
  • E4. Catalogue of Historical Computer
    Version 1: 4th March 2016. Catalogue E, for box-files E1 – E4. Catalogue of historical computer documents donated by Professor D B G Edwards. Scope. These items, donated by Professor Edwards in December 2015, cover the design of computer systems within the University of Manchester, the people involved in the projects and the growth of a Department of Computer Science. A large number of photographs is included, both of equipment, of people and of buildings. The main period covered is from 1948 – 1988, with some additional material dating from 1935 and some up to 1998. Box-files E1 & E2 contain documents and manuals. Box-files E3 & E4 (catalogued from page 10 onwards below) contain photographs. Background. David Beverley George Edwards, known to colleagues as Dai, was born in Tonteg, South Wales in 1928. In 1945 he went to Manchester University to read Physics. In his third year he specialised in Electronics and came under the influence of Professor F.C. Williams. Dai graduated in Physics in July 1948. In September of that year he became a research student working under F.C. Williams in the Department of Electro-Technics on the expansion of the ‘Baby’ (SSEM) digital computer. He obtained his MSc in December 1949 and joined the University staff as an Assistant Lecturer. Dai remained a member of the academic staff all his working life, first within Electrical Engineering and then (from 1964) within the Department of Computer Science. He was promoted to Lecturer in 1954 and gained his PhD for the design and construction of MEG. In 1959 he became a Senior Lecturer, leading the engineering team for the MUSE/Atlas project.
    [Show full text]
  • Mercury Autocode, Atlas Autocode and Some Associated Matters
    Mecury Autocode, Atlas Autocode and some Associated Matters. Vic Forrington January 2014 My first experience of the Manchester contributions to computing development was at the Royal Aircraft Establishment, Farnborough in 1959, where a Ferranti Mercury had just been installed. I had joined Mathematical Services Department from the Mathematical Laboratory at Cambridge where I had completed the Diploma in Numerical Analysis and Automatic Computing under Maurice Wilkes and the Edsac team. Incidentally Geoff Toothill, one of the original Manchester Baby team was at RAE at the time and I did a little bit of work with him on the concept of ternary arithmetic rather than binary, using the magnetic states of north, south and not magnetised. Digital computing at RAE (yes, there were such things as analogue computers, they were very good at integration but not too good at arithmetic; indeed to seek the best of both worlds I worked for a time on the development of a digital differential analyser designed to simulate an analogue computer within a digital environment), was based on two English Electric DEUCE machines called Gert and Daisy, with memories based on drum storage. To get reasonable performance from a program one needed to know the position of the drum relative to the read/write heads so that an operand was passing just at the right time without the instruction having to wait another drum rotation. Thus programming was restricted to particularly masochistic individuals who numbered about twenty out of a scientific and engineering establishment of some 6000 souls. Mercury, like Edsac 2, had a random access store and unlike Edsac had a drum backing store.
    [Show full text]