ALGOL 68C (Cambridge University)
The information on this page is divided into two main sections. The first
section contains the instructions for restoring the compiler libraries and
procedures to your system and will allow you to quickly be ready to submit
source programs to the compiler. The second section contains the steps I
used to install the source archive (from the H390-MVS group) under Hercules/MVS
on my system to build the libraries/procedures for the first section. You
only need to concern yourself with the second section if you wish to rebuild the
compiler libraries/procedures from the source archive.
Update 03/09/2013
via Chris Cheney: Algol68C for IBM MVT and MVS has been upgraded to Release 1.3039 and is available by download via the web page https://algol68c.bitbucket.io/370/Algol68C_Release_1.3039.html. This version supercedes the one documented here and should be the preferred version for most users in the MVT/MVS hobbyist community.
The archive containing my installation jobstreams, tape images, and documentation is available from this site by clicking on the link: algol68c.tgz [MD5: d19c3b2bb3474530f298f511950c26ce]. The archive contains:
a68c4.pdf SYSOUT listing of file 4 (installation instructions) from the original source tape. alg68c.map TAPEMAP output for the alg68c.het tape image. algol68c Jobstream to reload the original source tape to disk. algprocs Jobstream to install the procedures in your Procedure Library to execute the compiler. algtest1 - 4 Four jobtreams containing test ALGOL programs to verify the compiler operates as expected. reload Jobstream to restore the compiler libraries from IEBCOPY created tape. alg68c.het The tape image created by IEBCOPY containing the three Partitioned dataset contents. algol68c.aws The original source tape from H390-MVS group file area.
Uncompress the archive (use the tar xvzf algol68c.tgz command on Linux or use WinZip or ZipNAll on Windows). The tape images should go into your tape image subdirectory, and the jobstreams should go into your JCL subdirectory. The map file may be viewed with a text editor or printed. In order to view the pdf, you will need a copy of Adobe Acrobat Reader. The jobstreams and map file were created under Windows, so the lines are terminated with x'0d0a'.
Prior to submitting the RELOAD jobstream, you must edit it and change the value of the default parameter TVOL on the PROC statement to specify the Volume Serial of the target volume to which the datasets are to be restored. The target Volume Serial may specify a target volume that is not a 3350, but you must ensure that the blocksizes of the restored datasets will fit on the target device (as shown in the alg68c.map). You may change the value of THLQ, which specifies the high level qualifier of the dataset names to which the libraries will be restored, but if you change from the default of SYS2, you will also need to edit the ALGPROCS and all four ALGTEST jobstreams to change all occurrences of SYS2 to the new value of THLQ as they must agree for the compiler to function.
Unless you have decided to change the high level qualifier of the library datasets, ALGPROCS jobstream should not require editing. The target library for the procedures is SYS2.PROCLIB. If you do not have SYS2.PROCLIB defined on your system, you must change the SYSUT2 DD in the ALGPROCS jobstream to SYS1.PROCLIB.
When you have verified that the two installation jobstreams - reload and algprocs - conform to your configuration, mount the alg68c.het tape image on a tape device and submit the jobstreams to MVS for execution. Note that there are two tape images in the archive and that you need to mount the alg68c.het image. The reload job should take about one minute to execute and the return code expected for the single step is:
IEF142I IEBCOPY RESTOREL - STEP WAS EXECUTED - COND CODE 0000
The algproc job should take less than one minute to execute and the return code expected for the step is:
IEF142I ALGPROCS IEBUPDTE - STEP WAS EXECUTED - COND CODE 0000
One of the four libraries restored is SYS2.A68LIB.TESTS (if you have changed the high level qualifier in the reload jobstream, your library's high level qualifier may be different than SYS2). This library contains installation verification jobstreams, ALGOL programs, and the expected output of those jobstreams/programs. Because the dataset characteristics make it difficult to edit the contents, I have extracted the four test jobstreams and they are contained in the installation archive as algtest1, algtest2, algtest3, and algtest4. I should also say that there were some changes necessary in order for the jobs to run as expected, so the contents of the four jobstreams included in the archive are slightly different from those in the A68LIB.TESTS dataset. The changes I made were:
Since I am not proficient in ALGOL, I can only say that it appears that the output from the test jobs matches the expected output when run on my system. The fourth test job seems to be expected to fail as it is testing features that are not implemented. In the case of the fourth job, the return codes I received on my system did not always match those stated to be expected in the A68LIB.TESTS results members.
At this point you have installed the compiler and the procedures to execute it. You are ready to write your own ALGOL programs and submit them to compile, link, and execute. There is some documentation on the original tape regarding the specifics of the Cambridge ALGOL68C compiler and its differences from ALGOL 68, but there is no basic or beginners documentation on the language itself.
You only need to read the following section if you want to know how I installed the original source tape and generated the ALGOL 68 compiler libraries.
The original source archive (from the now defunct Files section of the H390-MVS Yahoo group) contains an AWS tape image the contains 25 files. The contents of these files are:
The algol68c jobstream in the archive will restore all twenty-five files from this tape into a single Partitioned dataset. The first step allocates the space for the dataset and the following 25 steps restore the tape files into individual members of the pre-allocated dataset. The jobstream is coded to utilize the SYSREPRO utility from the CBT Tape (SYSREPRO), but you can easily modify the JCL to utilize IEBGENER.
The fifth file on the tape - a68c5 - is the jobstream to generate the compiler libraries. The changes I made before submitting the job were:
No other changes were made to the installation jobstream.
After the libraries were generated, I collected the contents of all members of SYS2.A68LIB.PROCS into a single jobstream - algprocs - and edited the dataset names in the PROC members to add the high level qualifier SYS2.
I hope that you have found my instructions useful. If you have questions that I can answer to help expand upon the information I have included here, please don't hesitate to send them to me: