12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 |
- 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.
|