ALGOL 68S

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search
ALGOL 68S
ParadigmsMulti-paradigm: concurrent, imperative
FamilyALGOL
Designed byCharles H. Lindsey
First appeared1977; 49 years ago (1977)
Typing disciplinestatic, strong, safe, structural
ScopeLexical
Implementation languageBLISS
PlatformMotorola 680x0, Sun SPARC
OSSunOS, Solaris, GEMDOS
Website{{#property:P856}}

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.

Implementations

[edit | edit source]

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

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

The main differences between ALGOL 68 and 68S, as summarised from Appendix 4 of the Informal Introduction,[3] 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 | edit source]
  1. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  2. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  3. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).