This manual defines Kednos PL/I for UNIX. It includes the keywords
and the semantic and syntax rules of PL/I programming language
statements, attributes, built-in functions, and other language elements.
Operating System and Version: Digital UNIX Version 3.2 or
higher
Kednos Systems, Inc., makes no representations that the use of its products in the manner described in this publication will not infringe on existing or future patent rights, nor do the descriptions contained in this publication imply the granting of licenses to make, use, or sell equipment or software in accordance with the description.
Possession, use, or copying of the software described in this publication is authorized only pursuant to a valid written license from Kednos or an authorized sublicensor.
No responsibility is assumed for the use or reliability of software on equipment that is not listed as supported in the Product Description.
Restricted Rights: Use, duplication or disclosure by the U.S. Government is subject to restrictions as set forth in subparagraph (c)(1)(ii) of the Rights in Technical Data and Computer Software clause at DFARS 252.227-7013.
© Kednos Corporation, 1995, 1996, All Rights Reserved.
Kednos, Kednos PL/I, and Kednos VPO are trademarks of Kednos Corporation.
Alpha AXP, CDD, DEC,DEC 4000, DECwindows, Digital, OpenVMS AXP, ULTRIX, VAX, OpenVMS, VT102, VT220, VT240, VT320, VT330, VT340, and the DIGITAL logo are trademarks of Digital Equipment Corporation.
SAA and IBM are trademarks of International Business Machine Inc.
Stratus is a trademark of Stratus Computer Inc.
Kednos PL/I for UNIX includes the GNU readline and assembler software. See the Kednos PL/I for UNIX User's Manual for the entire text of the Free Software Foundation's GNU Copyleft.
Portions Copyright 1984-1990 FairCom Corporation. All Rights Reserved.
Kednos requests your critical evaluation to assist in preparing future documentation. Please send any comments to comments@Kednos.com or by physical mail to:
Condition Prefixes (IBM Dialect Only) 1-7
Summary of Statements by Function 1-9
Declarations Outside Procedures 2-3
Multiple Simple Declarations 2-4
Factored Simple Declarations 2-4
BUFFERED and UNBUFFERED Attributes (IBM Dialect Only) 2-20
OPTIONAL Attribute (Dec and Ansi Dialects Only) 2-45
Precision and Scale of Arithmetic Data Types 3-8
Internal Representation of Fixed-Point Binary Data 3-10
Fixed-Point Decimal Constants 3-11
Fixed-Point Decimal Variables 3-12
Internal Representation of Fixed-Point Decimal Data 3-13
Using Floating-Point Data in Expressions 3-15
Floating-Point Data Formats 3-15
Character Picture Characters 3-18
Examples of Character Picture Variable Definitions 3-18
Assigning Values to Pictured Variables 3-32
Extracting Values from Pictured Data 3-33
The Internal Representation of Pictured Variables 3-34
Character String Constants 3-36
Replication of String Constants 3-37
Character-String Variables 3-37
Fixed-Length Character String Variables 3-38
Internal Representation of Fixed-Length Character Data 3-39
Varying-Length Character String Variables 3-39
Internal Representation of Varying Character Data 3-40
Alignment of Character Strings 3-40
Replication Factor for Bit-String Constants 3-42
Alignment of Bit-String Data 3-44
Internal Representation of Bit Data 3-45
Pointer Variables in Expressions 3-50
Internal Representation of Pointer Data 3-50
Internal Representation of Label Variables 3-56
Internal Representation of Entry Variables 3-59
Area Variables in Expressions 3-63
Reading and Writing Areas 3-63
References to Individual Elements 4-5
Assigning Values to Array Variables 4-10
Order of Assignment and Output for Multidimensional Arrays 4-11
Using GET and PUT Statements with Array Variables 4-12
Passing Arrays as Arguments 4-12
Built-In Functions Providing Array Dimension Information 4-13
Structure Declarations and Attributes 4-14
Using The UNION Attribute On Structure Declarations 4-16
Using Structure Variables in Expressions 4-17
Passing Structure Variables as Arguments 4-18
Structure-Qualified References 4-27
Arrays of Structures that Contain Arrays 4-29
Data Types Used with Based Variables 5-6
Referring to Based Variables 5-8
Based Variables and Dynamic Storage Allocation 5-10
Using the ADDR Built-in Function 5-13
Data-Type Matching for Based Variables 5-14
Matching by Overlay Defining 5-14
Matching by Left-to-Right Equivalence 5-15
Nonmatching Based Variable References 5-16
Examples of Based Variables 5-16
Using the ALLOCATION Built-In Function 5-20
Using the ADDR Built-In Function 5-21
Dynamically Allocated Variables 5-22
Other Mechanisms for Dynamic Storage Allocation 5-25
Character-String Comparisons 6-13
Comparing Noncomputational Data 6-13
Precedence of Operators and Expression Evaluation 6-15
Data Type Conversion of Operands and Expressions 6-17
Contexts in which PL/I Converts Data 6-18
Derived Data Types for Arithmetic Operations 6-21
Conversion of Operands in Nonarithmetic Operations 6-22
Built-In Conversion Functions 6-23
Implicit Conversion During Assignment 6-24
Assignment to Arithmetic Variables 6-25
Arithmetic to Arithmetic Conversions 6-25
Pictured to Arithmetic Conversions 6-27
Bit-String to Arithmetic Conversions 6-27
Character-String to Arithmetic Conversions 6-29
Assignments to Bit-String Variables 6-30
Arithmetic to Bit-String Assignments 6-30
Pictured to Bit-String Conversions 6-32
Character-String to Bit-String Conversions 6-33
Assignments to Character-String Variables 6-33
Arithmetic to Character-String Conversions 6-34
Pictured to Character-String Conversion 6-37
Bit-String to Character-String Conversion 6-37
Functions and Function References 7-4
Rules for Specifying Parameters 7-13
Calling External and Internal Procedures 7-18
Passing Arguments to Non-PL/I Procedures 7-22
The Two Forms of the SELECT Statement 8-19
ATTENTION Condition (IBM Dialect Only) 8-37
CHECK Condition (IBM Dialect Only) 8-38
NAME Condition (IBM Dialect Only) 8-49
RECORD Condition (IBM Dialect Only) 8-50
SIZE Condition (IBM Dialect Only) 8-51
STRINGSIZE Condition (IBM Dialect Only) 8-55
TRANSMIT Condition (IBM Dialect Only) 8-56
Using Condition Prefixes (IBM Dialect Only) 8-61
Scope of Condition Prefixes 8-61