PL-6

{{Short description|Programming language}}

{{Infobox programming language

| logo = Honeywell logo.svg

| paradigm = procedural

| designers = Honeywell, Inc.

| operating system = Honeywell CP-6

| influenced by = PL/I

}}

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.{{cite book |last1=Honeywell |title=CP-6 Concepts and Facilities |date=September 1980 |page=3-1 |url=http://bitsavers.org/pdf/honeywell/large_systems/cp-6/CE26-01_CP-6_Concepts_and_Facilities_Sep80.pdf |access-date=January 28, 2023}}

Description

=Data types=

class="wikitable"
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.
PTRA memory address.

PL-6 has no provision for floating point data.

=Aggregates=

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

{{reflist}}