ALGOL 68S is a programming language designed as a subset of ALGOL 68, to allow compiling via a one-pass compiler.[1] It was mostly for numerical analysis.

ALGOL 68S
ParadigmsMulti-paradigm: concurrent, imperative
FamilyALGOL
Designed byCharles H. Lindsey
First appeared1977; 47 years ago (1977)
Typing disciplinestatic, strong, safe, structural
ScopeLexical
Implementation languageBLISS
PlatformMotorola 680x0, Sun SPARC
OSSunOS, Solaris, GEMDOS

Implementations

edit

A compiler for ALGOL 68S was available for the PDP-11, written in the language BLISS. The multiprocessor version designed for the C.mmp[2] has been preserved at the PDP Unix Preservation Society archive.[3]

Charles H. Lindsey created another implementation of ALGOL 68, named ALGOL 68S, for Sun-3, Sun SPARC (under SunOS 4.1), Sun SPARC (under Solaris 2), Atari ST (under GEMDOS) and Acorn Archimedes (under RISC OS).

Chief differences from ALGOL 68

edit

The main differences between ALGOL 68 and 68S, as summarised from Appendix 4 of the Informal Introduction,[4] include:

  • No union
  • No flex, but strings are handled specially
  • No arrays inside structures (but references to arrays were allowed) and a similar restriction on arrays of arrays (multidimensional arrays are nonetheless permitted)
  • Limits on use of long and short to aid implementing on small computers
  • No heap
  • No parallel processing
  • Limits on the order of declaration and other small syntactic differences to allow one-pass compiling
  • No formats

References

edit
  1. ^ Hibbard, P.G. (May 1977). "A Sublanguage of ALGOL 68". SIGPLAN Notices. 12 (5): 71–79. doi:10.1145/954652.1781177. S2CID 37914993.
  2. ^ http://vestein.arb-phys.uni-dortmund.de/~wb/a68s.txt. {{cite journal}}: Cite journal requires |journal= (help); Missing or empty |title= (help) [permanent dead link] Description of C.mmp A68S implementation.
  3. ^ "Archived copy". www.tuhs.org. Archived from the original on 20 July 2008. Retrieved 13 January 2022.{{cite web}}: CS1 maint: archived copy as title (link)
  4. ^ Lindsey, C. H.; van der Meulen, S. G. (1977). Informal Introduction to Algol 68. North-Holland.