67 lines
		
	
	
	
		
			3.4 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			67 lines
		
	
	
	
		
			3.4 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
| 			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.
 | |
| 
 |