Kednos PL/I for OpenVMS Systems
Reference Manual

Previous Contents Index

Chapter 5
5 Storage Classes
     5.1     Automatic Variables
     5.2     Static Variables
     5.3     Internal Variables
     5.4     External Variables
     5.5     Based Variables
         5.5.1         Data Types Used with Based Variables
         5.5.2         Allocation in Areas
         5.5.3         Referring to Based Variables
         5.5.4         Based Variables and Dynamic Storage Allocation
         5.5.5         Using the ADDR Built-in Function
         5.5.6         Data-Type Matching for Based Variables
                Matching by Overlay Defining
                Matching by Left-to-Right Equivalence
                Nonmatching Based Variable References
         5.5.7         Examples of Based Variables
     5.6     Controlled Variables
         5.6.1         Using the ALLOCATION Built-In Function
         5.6.2         Using the ADDR Built-In Function
     5.7     Dynamically Allocated Variables
         5.7.1         ALLOCATE Statement
         5.7.2         FREE Statement
         5.7.3         Other Mechanisms for Dynamic Storage Allocation
     5.8     Defined Variables
         5.8.1         String Overlay Defining
         5.8.2         Rules for Overlay Defining
     5.9     Storage Sharing
Chapter 6
6 Expressions and Data Type Conversions
     6.1     Assignment Statement
     6.2     Operators and Operands
         6.2.1         Arithmetic Operators
         6.2.2         Logical Operators
                EXCLUSIVE OR
                AND THEN
                OR ELSE
         6.2.3         Relational Operators
                Arithmetic Comparisons
                Bit-String Comparisons
                Character-String Comparisons
                Comparing Noncomputational Data
         6.2.4         Concatenation Operator
     6.3     Precedence of Operators and Expression Evaluation
     6.4     Data Type Conversion of Operands and Expressions
         6.4.1         Contexts in which PL/I Converts Data
         6.4.2         Derived Data Types for Arithmetic Operations
         6.4.3         Conversion of Operands in Nonarithmetic Operations
         6.4.4         Built-In Conversion Functions
         6.4.5         Implicit Conversion During Assignment
         6.4.6         Assignment to Arithmetic Variables
                Arithmetic to Arithmetic Conversions
                        Conversions to Fixed Point
                        Conversions to Floating Point
                        Conversions from FIXED BINARY to Other Data Types
                Pictured to Arithmetic Conversions
                Bit-String to Arithmetic Conversions
                Character-String to Arithmetic Conversions
         6.4.7         Assignments to Bit-String Variables
                Arithmetic to Bit-String Assignments
                Pictured to Bit-String Conversions
                Character-String to Bit-String Conversions
         6.4.8         Assignments to Character-String Variables
                Arithmetic to Character-String Conversions
                        Conversion from Fixed-Point Binary or Fixed-Point Decimal
                        Conversion from Floating-Point Binary or Floating-Point Decimal
                Pictured to Character-String Conversion
                Bit-String to Character-String Conversion
         6.4.9         Assignments to Pictured Variables
         6.4.10         Conversions Between Offsets and Pointers
Chapter 7
7 Procedures
     7.1     PROCEDURE Statement
     7.2     Functions and Function References
     7.3     ENTRY Statement
         7.3.1         Specifying Entry Points
         7.3.2         Multiple Entry Points
     7.4     CALL Statement
     7.5     Parameters and Arguments
         7.5.1         Rules for Specifying Parameters
         7.5.2         Argument Passing
     7.6     Calling External and Internal Procedures
     7.7     Terminating Procedures
     7.8     Passing Arguments to Non-PL/I Procedures
         7.8.1         Passing Arguments by Immediate Value
         7.8.2         Passing Arguments by Reference
         7.8.3         Passing Arguments by Descriptor

Previous Next Contents Index