ALGOL 68S
ALGOL 68S[1] was designed as a subset of ALGOL 68 in order to permit single-pass compilation. It was mostly for numerical computation.
Implementations
A compiler for ALGOL 68S was available for the PDP-11, written in BLISS. The multiprocessor version designed for the C.mmp[2] has been preserved at the PUPS archive of the PDP11 Unix Heritage society, c.f. .
Charles H. Lindsey has another ALGOL 68 implementation called ALGOL 68S for Sun3, Sun Sparc (under SunOS 4.1), Sun Sparc (under Solaris 2), Atari ST (under GEMDOS) and Acorn Archimedes (under RISC OS), c.f.
Chief differences from ALGOL 68
- no union
- no flex but strings are handled specially
- no arrays inside structures (but references to arrays would be allowed) and a similar restriction on arrays of arrays (multidimensional arrays are nonetheless permitted)
- limitations on use of long and short to facilitate implementation on small computers
- no heap
- no parallel processing
- restrictions on the order of declaration and other small syntactic differences to make single pass compilation possible
- no formats
(summarised from Appendix 4 of the Informal Introduction[3])