f67c98e239
the repository and download a complete snapshot, old and ancient stuff and all. |
||
---|---|---|
.. | ||
aem | ||
cpem | ||
liba68s | ||
test | ||
util | ||
a68s.1 | ||
COPYRIGHT | ||
README |
The ALGOL 68S System ******************** 1. See a68s.1 in -man format for the goodies on offer. 2. This system is presently exceeding slow (but correct). The reason is that it calls run-time routines to do absolutely everything. It is known that significant improvement can easily be made in this state of affairs, but not in this release. 3. Other developments expected for the future are facilities for separate and mixed-language compilation (a student will tackle this next year), and a non-checking run time option which will run faster (but with less security) (but no student available for this yet). 4. The system should run on any 44 or 24 system, but not on a 22 system as yet (that is another development in the waiting). It has actually been tested on sun3, moon3 and vax4. 5. The system was originally delevoped for CDC machines, and then for PERQs running under PNX. Thus its method of compilation is not particularly suited to the ACK way of thinking (a compiler designed with ACK in mind from the start would have been very different). The CDC origin explains why all the sources are in upper case, and with numbered lines (however, I like numbered lines, so I have kept them, and a68s will even accept them still). 6. Version control is by a program /util/tailor, which selectively exposes or hides commented out sections of the sources according to a recipe. See the start of aem/a68sdec.p for what all the tailoring parameters mean. Every source text is passed through tailor before being compiled. 7. The system is written in a bastardized version of PASCAL called cpem (see README in the directory of that name). {This also provides an "improved" method of separate compilation which might be of benefit in pem.} 8. The directories aem and liba68s have their own private versions of 'make' (therefore, '.' must precede '/bin' in your PATH). These prepare the tailoring recipes according to the system given in ack_sys (set environment variable MACH to override this). Unlike pem, separate versions of the compiler must exist to generate 44 and 24 (and eventually 22) code. To avoid keeping too many .o files around, the Makefile will do a clean before changing from a 44 system to a 24 one, etc. 9. Although a runtime library can be made using 'make' in liba68s, this is really intended for debugging libraries. A more usual system would be to use the 'compmodule' system in the liba68s directory of the appropriate mach. However, it is recommended that this be not included automatically in the 'action' of each mach, because compiling an ALGOL 68S library takes over a hour on a microvax, and to do it for all of the 'mach's provided would use up a lot of time. 10. To build the complete system requires make install in util make all in cpem make install in aem make install in EM/mach/???/liba68s 11. The programs test/test.8 and test/tp8.8 are the main confidence-checkers. test.8 produces lots of numbers, with clear error messages interspersed if anything goes wrong. Its last few lines should contain 5 '.'s, followed by 4'.'s and so on down to 0. There is one test needs commenting out if floating point is not available. tp8.8 is the transput test. It should print out a long string in vertical columns spread over two pages. After that, if it says "FYLA read back OK" it should be all right. tp9.8 is the same thing for systems without floating point. The other programs in the test directory are just interesting examples, which should work.