ALGOL 68S

From Wikipedia, the free encyclopedia
Jump to: navigation, search

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[edit]

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. [2].

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. [3]

Chief differences from ALGOL 68[edit]

  • 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])

References[edit]

  1. ^ A Sublanguage of ALGOL 68, P.G. Hibbard, SIGPLAN Notices 12(5), May 1977
  2. ^ [1] Description of C.mmp A68S implementation.
  3. ^ Informal Introduction to Algol 68, C.H. Lindsey and S.G. van der Meulen, North-Holland 1977