Demo of KDF9 Usercode
There is a facility for running Usercode programs
here.
This is very new, and the web page needs improvement,
but the Usercode Compiler works.
Demo of KAL4
There is a facility for running KAL4 programs
here.
It is planned to modify the way in which this works to
make it more tolerant of various ways of representing Algol Basic Symbols.
Demos of KDF9 Algol
There is a demonstration of Paper Tape Whetstone Algol
here.
You can type your own Algol 60 program into the text area provided, or create a file and upload it.
You must have a first line which is the job name, so the simplest thing is to keep the top line of the example.
Please do not try any lengthy computation.
It is only a very tiny computer that runs this
as was KDF9 by today’s standards.
The resurrection of Kidsgrove Algol (Kalgol) is very much a work-in-progress, but progress has been significant.
There is a β-test version of a facility for running the Kidsgrove compiler
here.
Note: The only I/O routines that work are open(20), close(20), open(30), close(30), writetext(30, ...), output(30, ...) and read(20).
You can download a demo of Kidsgrove Algol
here
which you can run on your own computer.
All you need is a C compiler, and it has run on a whole varity of machines.
There is a readme.htm file within the ZIP file.
Some components of the original system were missing from the listing, which somehow
survived from its original printing in Australia to Bill Waite in Colorado,
from where it was transferred over the net to a laptop in the Yorkshire Dales.
The main compiler only lacked brick 20, of which a hand-written version was discovered in the Science Museum.
David Huxtable has turned this into an approximation to the original.
In fact the whole thing is an approsimation, as it has become abundantly clear that what we have cannot
possibly be the final released version, because we have found several bugs that we know to have been absent rom the production version.
However, we can compile lots of Algol programs, especially if we avoid using the optimiser.
The surviving software lacked the underlying support system (PANACEA), and the Usercode compiler (brick 84).
This is unfortunate as the output from the compiler is in Usercode.
However, a listing of the Paper Tape Usercode Compiter (KAA01) was found in the science Museum.
A new brick 84 (KAB84) converts the Algol Basic Symbols output by the compiler into
paper tape code and feeds it to KAA01.
A new PANACEA (KAB00) has also been implemented.
Both KAB84 and KAB00 are written in the Leeds University assembly language KAL4.
There are listings of the original source files produced by modern assemblers.
The left-hand side shows the machine code, and the source code is shown as it would have appeared
on a KDF9 Flexowriter, and with hot links to subroutines.
KMW02 The Whetstone Algol translator
KMW03 The Whetstone Algol run time system
KAB01 Brick 01 Kalgol Set Up Declaration List etc.
KAB02 Brick 02 Kalgol Update Codes
KAB20 Brick 20 Kalgol Procedure Classificatio
KAB22 Brick 22 Kalgol Storage Allocation
KAB24 Brick 24 Kalgol Print Level Parameters
KAB40 Brick 40 Kalgol Brick 40 Interim
KAB41 Brick 41 For Statement + subscript optimization
KAB42 Brick 42 Kalgol Tidy Up after optimizer
KAB45 Brick 45 Kalgol For Statement Conversion
KAB46 Brick 46 Kalgol optimizing For stmt converter
KAB60 Brick 60 Kalgol Translator -- i.e. code generator
KAB95 Brick 95 Kalgol Terminating + Post Mortem Brick
KAB99 Brick 99 Kalgol Terminating Brick
All the above are from the Australian listing, except KAB20 which was missing from the original
(see above);
Also missing was KAB84, the brick that translated the usercode generated by brick 60
into a binary program.
We have been able to make a near equivalent from the Paper Tape Usercode Compiler (KAA01)
which also survived in the Science Museum archives.
KAB84 Brick 84 − new code converting the Compiler otput to paper tape code
KAA01 Paper Tape Usercode Compiler
We are having trouble with the optimiser, and suspect that there is an undetected typo in brick 41.
The listings were processed by a mixcture of OCR and human eyes.