ALGOL

I recently created an ALGOL section at the Computer History Museum‘s Software Preservation Group web site, covering the language standardization efforts — for ALGOL 58 (also known as the International Algebraic Language), ALGOL 60, and ALGOL 68 — and also covering many implementations, dialects, and offshoots, complete with source code, manuals, and papers for many of these. The history of ALGOL has attracted many writers, and the final section of the web site links to many of their papers.

The ALGOL 58/60 implementations for which I’ve been able to find source code for include:

  • Burroughs 205 (Knuth)
  • Burroughs 220 (Erdwinn et al.)
  • Burroughs B-5500
  • DEC PDP-10 (Habermann et al.)
  • Electrologica X1 (Dijkstra and Zonneveld – Mathematisch Centrum)
  • Electrologica X8 (Kruseman Aretz – Mathematisch Centrum)
  • Electrologica X8 (Bron et al. – Technische Hogeschool Eindhoven)
  • Elliot 803 (Hoare et al.)
  • English Electric Whetstone (Randell and Russell)
  • G.E.C. process control computer (Higman)
  • Regnecentralen GIER (Naur et al.)
  • Stantec Zebra (van der Mey – Netherlands PTT)

The appendices to Maurice Halstead’s book Machine-Independent Programming (Spartan Books, 1962) contain compiler source listings of Neliac (an ALGOL 58 dialect) for the UNIVAC M-460, IBM 704, and CDC 1604.

I also found compiler source code and listings for several versions of ALGOL W.

I’ve just gotten started looking for ALGOL 68 implementations.

I welcome your comments, corrections, and suggestions for the ALGOL web site.

This entry was posted in ALGOL, Software history. Bookmark the permalink.

8 Responses to ALGOL

  1. John Cowan says:

    Are you only interested in implementations for old computers? GNU Algol, otherwise called Marst, is a full implementation of Algol 60 (the modified report) that translates it into C, and there is the NASE Algol 60 interpreter as well.

  2. Paul McJones says:

    John,

    I’m especially interested in old implementations. For completeness, I’ll probably add GNU Algol/Marst and the NASE Algol 60 interpreter. Thanks very much for mentioning them.

    Paul

  3. andrey (c) adtrefer says:

    Old compilers must died. Try to make new compiler for Algol family. Algol 68 genie has critical errors, so you have chance to make good compiler.

  4. Algol 68 Genie is in continuous development. Many are using it to run either vintage programs or new code. If someone thinks it contains a “critical error”, please report it to me so it can be corrected. The quality of open source software depends on useful feedback of its users.

    Thank you,
    Marcel

  5. Graham Reid says:

    Hi, in the 1974 timeframe, I used an implementation of Algol-60 on an 8k PDP8/E. This was written by a Dr Roger Abbot (hence called RogAlgol).
    I gather it was subsequently ported to CP/M.
    Some links are:
    http://pdp8.de/download/RogAlgol.pdf
    http://www.angelfire.com/biz/rhaminisys/algol60.html
    http://www.dbit.com/pub/pdp8/nickel/langs/algol/ascii/

    Regards, Graham

  6. Paul McJones says:

    Graham,

    Thanks for the information about Rogalgol; I’ve added an entry for it:

    http://www.softwarepreservation.org/projects/ALGOL/algol60impl/#Rogalgol

    Paul

  7. Paul Kimpel says:

    As a member of the SPG, you may already be aware of this, but over the past two years Nigel Williams and I have been developing an emulator for the Burroughs B5500. It runs the Burroughs Extended Algol dialect quite well, including the MCP operating system and the Algol-based ESPOL language used to write it. Our emulator is written in Javascript and presently works with both the Mozilla Firefox and Google Chrome web browsers.

    Sid McHarg has also written an emulator for the B5500. He had a set of Burroughs Mark XIII release tapes from 1971 that proved to be readable after 40 years, and has arranged with Unisys, the successor to Burroughs, to offer an educational/hobbyist license for the software. We are presently using that software with our emulator.

    The emulator and Burroughs software are available through our open-source project at http://code.google.com/p/retro-b5500/. The site has a wiki with instructions on setting up and using the emulator. There are also links to a hosting site for the emulator and some utilities, a “getting started” index into the wiki, a web forum, and a project blog.

    Prior to Sid’s tapes becoming available, we started down the hard road of manually transcribing source code from listings on bitsavers.org. Nigel transcribed the Mark XVI Algol compiler source, Hans Pufal transcribed ESPOL, and I have transcribed (but not proofed) the Mark XVI MCP. I then ported a large subset of Algol and ESPOL to the modern Unisys MCP Algol dialect for use as cross-compilers for the B5500, which work, but which we ended up not using very much. A few other transcription efforts have been completed, including Gary Kildall’s APL interpreter from 1971, and more are either in progress or planned. Most of this transcription is Algol code, and all of it is posted on the project site.

    Next up: an emulator for the Electrodata/Burroughs 205 and reconstruction of Donald Knuth’s Algol 58 compiler.

  8. Paul McJones says:

    Thanks very much for that; per our off-line discussion, I’ve added a Retro-B5500 section, and also split the Burroughs section in two (B 5000 / B 5500, and later).

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>