Reputation: 351
I've been looking around and I found little info on what was used to create the ALGOL 58 compiler. Was the compiler created similar to FORTRAN in that they used physical cards to create it?
Upvotes: 2
Views: 543
Reputation: 51
Following up on another-dave's answer, there's a detailed account of the writing of the Algol compiler for the B205 at http://ed-thelen.org/comp-hist/B5000-AlgolRWaychoff.html
For a flavor of this, here's an extract from that account about Donald Knuth. "In June we were introduced to this tall college kid that always signed his name with lowercase letters. He was don knuth. He had contracted with Brad MacKenzie to write a 205 Algol 58 Compiler that would be a subset of the 220 Algol 58 compilar that was being written by Jack Merner and Joel Erdwin.
don claimed that he could write the compiler and a language manual all by himself during his three and a half month summer vacation. He said that he would do it for $5000. Our Fortran compiler required a card reader, card punch. line printer and automatic floating point. Don said that he would not need the card reader or card punch, but he wanted a magnetic tape unit and paper tape. I asked Gerard Guyod how Brad could have been suckered into paying this college kid $5000 to write something that had to be a piece of junk if he was only going to spend three and a half months on it. Gerard whispered his response to me. He said "We think that he already has it written. He probably did it in his spare time while working in the computer center at Case Institute." I still wasn't entirely satisfied with that answer because I was a college graduate whose first job was for $325 per month and I had just changed jobs and was making $525 per month. Besides that it was taking mortal human beings 25 man-years to write compilers: not three and a half man-months. I thought that Brad had taker leave of his senses."
Upvotes: 0
Reputation:
The wording "the Algol 58 compiler" suggests there was only one, but this is not the case; there were quite a few, with varying degrees of fidelity to the published IAL report.
For Don Knuth's compiler for the Burroughs 205, we can look at the listings.
Upvotes: 0
Reputation: 96
I am not sure about the context of the question. Different manufacturers supplied different dialects of Algol.
My experience of Algol 60 was firstly with the English Electric KDF9 which had two different but compatible Algol compilers. Firstly the Whetstone compiler/controller system for program development which had excellent diagnostics but ran rather slowly. Secondly the English Electric compiler which compiled much more slowly but produced fast run time code. I believe both these compilers were written in machine code.
In 1970, I joined Burroughs Machines Ltd and worked with the B6500 and its successors. Its Algol compiler was written in Algol was used to compile itself! It was the nearest thing we had to machine code! Most of the component parts of the support software were written in Algol. E.G. All the other language compilers! (Basic, PL/I, Cobol, Fortran)
If you object that there is a chicken and egg problem here you are quite correct.
Before the hardware of the B6500 was running, there was a B6500 emulator running on the B5500. The Algol compiler for the B6500 could thus be written in B5500 Algol and the resulting code run in the B6500 emulator. The changes from the B5500 Algol language to the B6500 version were not that big though the machine code was quite different. So changing the source code for the compiler from B5500 to B6500 was not a big job.
If you are going to insist on an answer to the question about how the B5500 Algol compiler was produced, I'm afraid I don't have one! It was before my time.
Upvotes: 3
Reputation: 7000
Sure they used physical cards, because it was most practical at the time. Either you punched cards (have done so myself) or you set switches (even less efficient...) Paper tape was used as well, but the fun with punched cards is that you could punch a lot of ; in advance, in case you forgot one and the puncher was occupied... But that hasn't much relation with what language it was written in. I am almost certain it was assembly.
Upvotes: 3