PL-6 is a discontinued system programming language based on PL/I. PL-6 was developed by Honeywell, Inc. in the late 1970s as part of the project to develop the CP-6 operating system, a follow-on to Xerox CP-V to run on Honeywell Series 60 and DPS-8 systems.[1]

Description

edit

Data types

edit
Declaration
attribute
Description
SBIN(n) Signed binary integer of n bits. If (n) is not specified, 36 bits is the default. Alternatively "SBIN WORD", "SBIN HALF", or "SBIN BYTE" specifies 36, 18, or 9 bits respectively.
UBIN(n) Unsigned binary integer of n bits. Otherwise the same as SBIN.
CHAR(c) Fixed-length character string of length c characters.
BIT(b) Fixed-length bit string of length b bits.
PTR A memory address.

PL-6 has no provision for floating point data.

Aggregates

edit

Arrays are one dimensional and zero-based, with the zero specified explicitly. For example, DCL x (0:4) SBIN; declares an array of five signed 36-bit integers. The elements are numbered x(0), x(1),...,x(4).

Structures are also supported. For example:

DCL 1 struct,
      2 a,
        3 b CHAR(3),
        3 * CHAR(1),
      2 c CHAR(4);

declares a structure named struct consisting to two elements: a minor structure a consisting of a three-character field b and an unnamed one-character element ("*" indicates the element is unnamed), and a four-character element c.

The top level of the structure must be 1, and the remaining levels 2–10, if used, have to be specified in order with no levels skipped.

References

edit
  1. ^ Honeywell (September 1980). CP-6 Concepts and Facilities (PDF). p. 3-1. Retrieved January 28, 2023.
edit