• Aucun résultat trouvé

is System/360

N/A
N/A
Protected

Academic year: 2022

Partager "is System/360"

Copied!
388
0
0

Texte intégral

(1)

Systems Reference Library

IBM System/360 Time Sharing System PL/I Language Reference Manual

File No. S360-29 Order GC28-2045-1

This publication is a companion volume t.o IBM System/360 Time Sharing System: PL/I Programmer's Guide, Order GC28-2049. Together the two books form a guide to the writing and execution of PL/I programs under the control of an IBM System/360 'rime Sharing System that includes the PL/I compiler.

TSS

(2)
(3)

This publication is planned for use as a reference book by the PL/I user. It is not intended to be a tutorial publication, but is designed for the reader who already has a knowledge of the language and who

requires a source of reference material.

It is divided into two ~arts. Part I contains discussions of concepts of the language. Part II contains detailed rules and syntactic desc.riptions.

Although implementation information is included, the book is not a complete description of any implementation environment. In general, i t contains

information needed in writing a program; i t does not contain all of the information required to execute a Frogram. For further information on executing a program refer to the publication: IBM System/360 Time

Sharing System: PL/I Progranlmer's Guide.

Form GC28-201.19.

The features discussed in this

publication correspond to thOSE implemented in tne fifth version of the PL/I (F)

Compiler in Release 18 of IBM System/360 Operating System.

PREFACE

RECOMMENtED PUBLICATIONS

The following publications contain other information that might be valuable to the PL/I user or to a user who is learning PL/I:

IBM SYGtem/360 Time Sharing System:

PL/I Programmer's Guide, Form

GC28-2049 ~

A pL/r Primer, Form GC28-680B A Guide to PL/I for Commercial

Programmers, Forn. GC20-1651

A Guide tc PL/I for FORTRAN Users, Form GC20-1637

The following publication contains a description of the IBM System/360 Time Sharing System:

IBM System/360 Time Sharing system:

Concerts and Facilities, Form GC28-2003

i i i

(4)
(5)

INTRODUCTION

PART I: CONCEPTS OF PL/I

SECTION 1: BASIC CHARACTERISTICS OF PL/I Machine Independence

Program Structure

Data Types and Data Description Default Assumptions

Storage Allocation Expressions

Data collections Input and Output

Compile-Time Operations Interruption Activities Multitasking

SECTION 2: PROGRAM ELE~ENTS

Character Sets 60-Character Set 48- Character Set

Using the Chara,cter Set Identifiers

The Use of Blanks Conunents

Basic Program Structure

Simple and compound Statements Stat€ment Prefixes

Groups and Blocks SECTION 3: DATA ELEMENTS Data Types

Problem Lata Arithmetic Data

Decimal Fixed-Point Data Sterling Fixed-Point Data Binary Fixed-Point Data Decimal Floating-Point Data Binary Floating-Point Data ccmplex Arithmetic Data Numeric Character Data

Precision cf Arithmetic Constants String Data

Character-String Data Bit-string Data

Program Control Data L3bel Data

Event Data Task Data Locator Data Area Data

Data Organization Arrays

Expressions as Subscripts Cross Sections of Arrays Structures

Qualified Names Arrays of stru~tures

Other Attributes

The DEFl"I::D Attribute The LIK~ Attricute

'fhe ALIGNED and UNALIGNED Attributes

CONTENTS

1 3 5 5 5 5 5 6 6 6 6 7 7 7 8 8 8 8 8 9 10 10 10 10 11 11 13 13 13 13 14 15 15 15 16 16 17 18 18 18 20 20 20 21 21 21 21 21 22 23 23 23 24 25 25 25 26 26 v

(6)

The INITIAL Attribute. • 27 SECT ION 4: EXrRE~;:oaONS AND DATA CONVERSION • • • • • 29

Use of Expressions • • • • • 29

Data. CorNers iOll in orerational Expressions • • • • • 30

Problem Lata ConvPI.sion • • • • • 30

Hit-string to Character-String 30

Charact.er-Strinq to Bit-string • • • • • 30

Character-String to Arithmetic 30

Arithmetic to c~aracter-String 30

IHt-·string to Arithmetic • • • • • • • • • 30 Arithmetic to Bit-string • • • • • • • 30

Ari thmetic Mode Conversion • • • • 30

Arit~hnHot ic8a~;e and Scale Conversion • • • • • • • • • • 30

Locator Ddta Conversion. • • • • • • • 31

Offset tu Pointer . 31

Pointer to Offset . . • • 31

Conversion by Assignment • • • • • • 31

Exprt:s,;ion Opera. tions . • • • • • • • • • 31

Arithmetic o~erations . • • • • • • 31

Data Conversion in ArithJT1etic Operations • 0 • • 31

Results of Arithmetic operations • 32

Bit-string vlJerations . • • • • 34

Co~rariscn Operations 0 34

COLcatenation Cperations 0 35

('cli<lcinat.i.ons of Operations • • • • • 36

}'riority cf Cperat.crs • 36

luray Expres,;icns . • • • • • 37

Prefix Operators and Arrays : • • • • • • • 38 lliflx Operator:; and Arrays • • • • • • • • • • 38

Arri:lY and Element Cperations • • • • 38

Array and Array OpErations 38

Array and structure operations 39

Data Conver~i0n in Array Expressions • 39

Structure Expressions . • 39

Prefix Or~rators and Structures . • • • • • 39 Intix OceraLors and Structures • • • • • • • • • • • 39 Struct.ure and Element Operations • • • • 39 Structlrre and Structure operations • • • • • • • • 40 Structure Assignment BY NAME • • • • • • • • • 40

Operands of Expressions . 0 40

Function rteference Orerands • • • • • 0 40

Concepts of Data Conversion • • • 41

Tar~et Attributes for Type Conversion 0 42 Bit to Character and Character to Eit • • • • • 42

Arithmetic to String • • • • • 43

Str ing to Arithmetic • • • • 43

Target Attributes for Arithmetic Expression Operands 43 Precision and Length of Expression Orerand 'rargets • • • • • • '0 44 Precision for Arithmetic Conversions • • • • • • • • • • 44 Lengths of Character-String Targets • • • • • • • • 45 Lengths of Bit-string Targets • • • • • 45 Conversion of the Value of an Ex[ressicn • • • • 45

Conversion Operations • • • • • 45

The CONVERSION, SIZE, FIXEDOVERFLOW, and OVERFLOW Conditions 46 SEC'l'ION 5: STATE~;ENT CLASSIFICATION •

Classes of Statements . • • Descriptive Statements

The DECLARE Statement • Other Descriptive Statements Input/Output Statements •

RECORD I/O Transfer Statements STREAM I/O Transfer Statements Input/Output Control Statements • The DISPLAY Statement • . • • • • Data Movement and computational Statements

The Assignment Statement • • • •

48 48 48

• 48

• 48

• 48

• • • 49 49

• 49

• 50

• 50

• 50

(7)

The STRING O~tion . . • . . Program structure Statements

The PROCECURE Statement . The ENTRY Statement The BEGIN Statement •

fhe END Statement . . •

The ALLOCATE and FREE Statements Preprocessor Statements •

Control Statements

The GO TO Sta tement • . The IF Staten,ent

The DO St_a terrent

Noniterative DO statements

The CALL, "ETURN, anti E[~D Statements The STOP and EXIT Statements

Exception control Statements The ON ~;t at eITEnt

The REVERT Statement The SIGNAL St aternent

St-CTION 6: LlLOCKS, l'LOW OF CONTROL, AND S'IORAGE ALLOCATION

Blocks . • • •

Procedure Blocks • • • . Degin Blocks . . . . Internal and External Blocks

Use of the END sta ternent With Nested Blocks and DO-Groups

(~ultiple Clcsure)

Activation and Termination of Blocks Activation . . . .

TERMINATION . . • . • . . Begin Block Termination Procedure Termination Program Ter~ination

Storage Allocation Static Storage Automatic Storage • Controlled Storage

BaSed Stora~e . • • • • . • Reactivation of an Active Procedure (RECURSION)

Effect of Recursion on Storage Classes Prologues and Epilogues • •

Prologues

E~i~ogues . . . . .

SECTION 7: RECOGNITION OF NAMES Explicit Declardtion

Scope of an bxrlicit Declaration Contextual Declaration • • . • • • •

Scope of a Contextual Declaration • Implicit Declaration . . . • • Examples of Ceclarations . . • • . Application of Default Attributes • The INTE~NAL and EXTERNAL Attributes

Scope of Member Names of External Structures Multiple Declarations and Amtiguous Heferences SECTION 8: INPUT AND OUTPUT

Data sets . .

¥iles • . . . . The File Attritute Alternative Attributes

The STR£AM and FECORD Attributes

The INPUT, OUTPIT, and UPDATE Attributes The SEQUENTIAL and .:JIRECT Attributes The BUFFERED and UNBUFFERED Attributes Additive Attritut~s . • •

The PRINT At ribute . • The BACKWAkU3 Attribute

• 50

• 51

· 51

• 51 51 52 52 52

• 52 52 53 53 54

• • 54 55 55

• • 55 55 55

• 56

• • 56 56 56 57

• 57 58 58

• • 60

· 60 60 61 61 61

• • 62 62 62 62 63

· 64 64

• 64 65 65 66 66 66 67 67

• 68

• 68 70 70 71

· 71 72

• 72

• • 73

• • 73

• 73

• • 73

• • 73 74 74

• • 74

vii

(8)

The KEYED Attribute The EXCLUSIVE Attribute The ENVIRONMENT Attribute • Opening and Closing Files

The OPEN Stateme:lt Irr,plicit Orening

Merging of Attributes •

Associating Cata Sets With Files The CLOSE Statenlent

Standard Files

SECTION 9: STRl:AM-ORIENTED TRANSMISSION • List-Directed Transmission

Da ta-Di:e<.:ted 'l'l:ansmission Edit-Directed Transmission

~ata Transmission Statements

Options of Transmission Statements The FILE and STRING Options The COpy OFtion

Ti,e SKIP Opt'.,; on 'l'he PAGE Of'ti on The LINE Option Date! ,s}?ecifi;;atiorls

Data Lists

List-Directed Data specification List-Dir~~tpd Data in the Stream

L~st-Directed Input Format List-!)irect,'.:d Output Format Datd-Di.cecte,l Ddta specification

Data-'Directed Data in the Stream Data-DirectAd Ir!f,ut Format

Data-DlrecteG Output Format

Length of Data-Directed Output Fields Edit-Direcb .. 'c1 Lata c,pecification

Format Lists Print Files

Standard Fil€ SYSPRINT The EnviLonment Attritute

Record Format Blocking

Line Size and Record Format Buffer Allocation

Data Set Organization Volume Dispositiun

SECTION 10: RECORD-ORIENTED TRANSMISSION Introduction

Data Trans~ission Statements The READ Statement

The WRITE Statement The REWRITE Statement The LOCATE Statement The DELETE Statement The UNLOCK Statement

Options of Transrr,ission Statements The FILE option

The INTO Option The FROM OFt ion The SET Option The IGNORE Option The KEY Option

The KEYFROM and KEYTO Options The EVENT Gfltion

The NOLOCK OFtion Processing Modes

Move Mode Locate Mode

The Environment Attri~ute

74 74 74 74 74 75 75 76 77 77 79 79 79 80 80 80 80 81 81 81 81 81 81 83 83 83 84 84 85 85 86 86 87 88 91 92 92 92 93 93 94 94 94 96 96 96 96 96 96 96 96 97 97 97 97 97 97 97 98 98 98 99 99 99 .100 .101

(9)

Record Format . . Blocking

Buffer Allocation • Data set Organization Volume Disposition

Printer/punch Control • • • •

• .101

• .101 .102

• .102 Interchange of Data Between COBOL and PL/I Programs • •

• .103 . • • . 103 .103 Asynchronous Operations Limit • • • • • • • • 103

Track Overflew • • • . • • • • • • .104

.104 consecutive organization • • • •

Sequential UFdate . Indexed Organization

Keys . . . • • Creating A Data Set • Sequential Access •

Direct Access . . . • • • • •

SUJr,mary of Record-Oriented Transmission • Examples of Declarations for Record Files •

• • • 104

• .104

• .106

• .108 .108

• .108

• .108 .109 SECTION 11. EDITING AND STRING HANDLING • • • • • .110

Editing By Assignment . • • • • .110

Altering The Length Cf String Data • • • • • • • .110

Other Ferms of Assignment . • • .111

Input and output OFerations • • • • • .111 The STRING OFtion in GeT and PUT Statements • • • • .111 The picture Specification. . • • • • • • • • • • • • • • • 112 Numeric Character Specifications . • • . • • • • • .112 The '9' Picture'Character in Numeric Character Sfecifications • • 113 The Z and

*

Picture Characters • • • • • .113 The V Picture Character . • • • • • • .113 The Insertion Picture Characters: E. / • • • • • .114

The $ Picture Character. . • .114

Sign Specification in Numeric Character Specifications • • • • • 114 overpunched Sign-SFecification Characters: T, I, and R • . 115 Other Numeric-Cnaracter Facilities • • • • • • .115 Character-string Picture Specifications . • • • • • • • • • 115 Bit-string Handling. . • . • . • • • • • . • • • .116 Character-String and Bit-string Built-In Functions .117 SECTION 12: SUBROUTINES AND FUNCTIONS •

Arguments and Parameters

Subroutines • . . . • . • . • • Functions • . • • • . • • •

Attributes of Returned Values • Built-In Functions

Relationship of Arguments and Pararreters Dummy Arguments • • . •

The ENTRY httribute . . • • • • Entry Names as Arguments Allocation of Parameters

Parameter Bounds and Lengths

Simple Parameter Bounds and Lengths controlled Parameter Bounds and lengths Argument and Parameter Types . . . • • Generic Names and References • • • • Passing an Argument to the Main Procedure

.118

• .118 .119

• .120 .121

• • 122

• .123

• • • • • • . 123 .124 .125

• • • • • • • 126

• .127

• .127 .127

• • • • • • • 128

• • • • • .129

• .130 SECTION 13: EXCEPTIONAL CONDITION HANDLING AND PROGRAM CHECKOUT • • .131 .131 .131 .131 .132 .132 Enabled Conditions and Established Action • • • • • • •

Condition Prefixes . • . • . • • • • • Scope of the Co ldition Prefix • • • • • The ON staternens . . • • • • • •

The Null On-Unit • • • . Scope of the ON Statement • The REVERT Statement

The SIGNAL tate~ent

The CONDITION Condition

The CHEC¥ condition • • • • • •

• .133

• .133 .133

• .133 .134

ix

(10)

The !O~UK;CRIPTRANGE Condition The S'l'RINGI<ANGE Condition •

Condition Built-In Functions and Condition Codes Examr;le of U~;e of ON-Conditions •

SECTlON 14: BASEL VARIABLES AND LIST PROCESSING • Introduction

Based Variables and Pointer Variables

Point~l Qualification.

Rules and Restrictions Pointer Defining Self-Defining Data The PEF~R Option

Point_er Sett,ln'i, Based Storage Allocation, and Input/Output RPiirl with :;€t

L[)CdU-; wi t,1l and wi thout Set • .''11 locdt,e with ':And without Set Puint.-:! A";,~i,]mrent

The ADD~ BuiL~-in FUnction The NULL Built-in Function Free; ng Based ;;1-(;rage •

The Fr~e ~lritnrnent

lrnF-: l i c; it F U"(c_l n':J

Ar~ab n~d Offs0t~ . l\rca Varia'-,l''':.;

Rul,'s ar.(~ Re:-'trictions

Oftset Variatles

Rule~ and ~est£lctions Al~ocdtion within an Area

~3~i:tin9 Offset. Values.

Thf'; NULL< Built-in Function.

AL ea Assignmt'nt and Input/output The EMPTY Built-in Function • Tne AREA ON-Condition.

1 nrut and Output

Area imd uffset Defining

CorrmunicaLion tetween Procedures Argwllf::r'ts dnd F'arclT,eters

Pointer to Pcinter offset to Point~r • Offset to Offset Pointer to Offset Area to l'.rea

F,eturns fLom Entry Points • Locator Returns •

Area Returns

Var iaille Length Pa rameter Lists • Examples of List Processing Technique SEC'I'lON 15: COMPILf.-TIME FACILITIES.

Introduction

Preprocessor Input and Output • Prefrocessor Scan •

Rescanning and Replacement Preproc('ssor Var iables

Preprocessor Expressions Preprocessor Procedures •

Invccation of Preprocessor Procedures •

Arguments and Parameters for Preprocessor Functions • Returned Value

Examples of Pre~rocessor Functions Use of the SUBSTR Built-In Function • The Preprocessor DO-Group •

Inclusion Of External Text Preprocessor Statements •

SECTION 16: OPTI/'IIZATICN AND EFt'ICIENT PERFORMANCE Introduction

.134 .134

• .134 .134 .138 .138 .139 .139

• .139 .140 .140 .140 .141 .141 .142 .142 .142 .142

• .143 .143 .143 .144 .144 .144 .145 .145 .145

• .145 .146 .146 .146 .146 .147 .147 .147 .147 .147 .147 .148 .148 .148 .148 .148 .148 .149 .149 .150 .153 .153 .153 .153 .154 .155 .156 .156 .156 .157 .157 .158 .159 .159 .159 .160 .161 .161

(11)

Effect of Compilation on O~ject Program Efficiency PL/I Options: ORDER and REORDER •

The OReER option • • • • • • • • • • • • . • • • The REORDER option • • • • . • • • • • • • • • • Effect of ORDER and REORDER Options -- Example Compiler option: OPT=N

Loop and SubscriJ;t Optimization Assignment Handling •

INLINE OPERATIONS • Data Conversion • • String Handling • Programming Techniques

Improving Speed of Execution

Methods of Improvement When OPT=O or 1 Methods of Improvement When OPT=2 Avoiding Common Errors

Source Progrdm and General Syntax Program Control . . . • • • • • Declarations and Attributes • • • Assignments and Initialization Arithmetic and Logical operations

DO-groups . . • • • • • • • • • Data Aggregates • • • • . • • • •

Strings . . • . . • • • • • • • • • Functions and pseudo-Variables

On-Conditions and On-Units • • • • • Input/Output • • • • • • •

PART II: Rules and Syntactic Descriptions • SECTION 1: SYNTAX NOTATION

.161

• • • • • • • .161

• .162

• • • 162 .162 .162

• .163

• .163 .164

• • • 164

• .166

• • • • • • • .166

• • • • 166

• • • . 166

• .170 .170

• .170

• • .171 .171 .173

• .174

• • • • • • • .176

• • • 177

• • • 177

• .177 .177 .178

• .181

• .183 SECTION 2: CHARACTER SETS WITH EBCDIC AND CARD-PUNCH CODES1 • .185

60-Character Set 48-Character Set

SECTION 3: KEYWORDS AND KEYWORD ABBREVIATIONS • SECTION 4: PICTURE SPECIFICATION CHARACTERS.

Picture Characters for Character-String Data Picture Characters For Numeric Character Data •

Digit and Decimal-Point Specifiers Zerc Suppression Characters .

Insertion Characters • . • . • • • Signs And Currency Symbol • • • • • credit, Debit, And Overpunched Signs Exponent Specifiers •

Scaling Factor • • • •

?terling Pictures •

SECTION 5: EDIT-DIHECTED FORMAT ITEMS Data Format Items • .

Control Format Items

Remote Format Item • • • • • Use of Format Items • • •

ALPHABETIC LIST OF FORMAT ITEMS • The A Format Item •

The B Format Item The C Format Item The COLUMN Format Item The E Format Item The F Format item The LINE Format Item The P Format Item • • • The PAGE Formit Item The R For~lt Item • .

• .185

• .186 .187 .192 .192

• • • • 193 .194 .194

• • • • 196

• • . 197

• .199 .200 .200

• .201

• • .203 .203

• .203 .204

• .204

• • • 204

• .204 .204 .205

• • • • • • • 205

• • .206 .207 .208

• • • • • • • 208 .208

• • • • • • • • . 208 xi

(12)

'I'hp ~;KIP Fonriat Item The X Fonn,'l ItEm, •

SECT ION b; PHOl!Ll:t-1 LATA CONVERSION Aritrunetic Conver~ion

Floa t i Il'l" F '-,i nL Ccnversion l>lod,c COllv,i~.r,~ion .

Precision c~:)nvt2.r:~:~ion

Base Con~c.rsion .

Cuded At ithmpti(; r(o Numeric Charact,er N\:Jl'e.r ie "hdL<lcter \ 0 Coded A1-ithrretic • • Data Ty~p ~onver~ion

(,ha.r de L,-,r-"t 1 i n'l to Arithmetic

p·,d t,nJ[let Lf": 1.i~ Charactez.-String • • • • Ct;,nJ.cl:eL-:;tring to Bit -string

Pi +-sr_ri IFl t C Chardcter-String 1,1: L tIllEr"' 1 (. 1.0 13,;"1_ -., t l i ng

n.Lt-~:t,r:L;:q '-0 Arithnlet',lC

T~blc of Ccillng Values. • • • • • • • • • •

'Idb;'('~_' for k"';111t~; of Arithmet_ic Operations SECT 1.:N "/; [,'HL'!'

n·;

H1NcTJONS AND PSEUDO-VARIABLES Co.: p<1 Ld t JJ)Jl i 1 "'LL 1 t - [ TI l'cnct ions

St>:inq HaJji.,ll::q Dll.ilt-in Funct,ions

~Jl'~' Str11'(, HU..Llt-in Function t'SC1C·l ;-... tLl~I'~ ::-'flilL -in Function.

"':IL\.~-\ ~·-;t 1.'. ;,~_, .\; l}1 " .. ~r~ ?unctiun HIC}! ::;'.("J:1" 2:1j,.LI:··Jn Function.

lNflE:<, ST ~-u,,~ SHiH-in Function o'.ririU Built--lIl Function

:~(.W ;etri.ng built-· ill Funct_ion id:::U.,\T St'l;/~ Fl<l1.1.t:-in Yunction •

S'I'RI~)G ;;, .inS hd __ l,~-il1 f'unction

;,I)H,;Ti( ~i'.Lin<1 i:m::'lt--iTl Function.

The TkAl-...,;' V'i'. :3L r ,L"J Buil t-in Function

UN~;P:t:C S ' r i ;,q EUl Jt -in Functior, • '7'JJe V1:.'i.l. F Y :_,: -' l i l g buil t- ir. Function • Ar i thIT'E-L i,c' "'Ji t t "In F UIh.::ti ons • • • • • • •

AI'S Arit:,;h(ci.J,C Built-in Function ADD Arit~netic duilt-in Function

bINARY Arjrhmetic Built-in Function.

eEl L Ar i. t L:l:etic Sui 1 t -ill Function • • COMPLEX IULt hW€i:1C Built-in Function CON.)(; A.ut.tltl,etj.c Guilt-in Function DECIMAL A.ril~netic Built-in Function DIVIDE Arl t lmet_lc Built-in Function FIXED l\riLullet.ic; Built-in Function FLOAT ALithmetic Built-in Function ,FLOOk Ar i t lII1,et ic Bui 1 t- in Function lMA,; Ari thmetic Built-in Function MAX ArithwFlic Built-in Function MIN Arithmetic Built-in FUnction MOD Ari~hmptic Built-in FUnction

MULTIPLY Arithmetic Built-in Function.

PRECISION Arithmetic Built-in Function hEAL Arithmetic Built-in Function •

ROUND AritIluletic Built-in FUnction • • • • SIGN Arit_hmetic Built-in Function.

TRUNe Arithmetic Built-in Function Mathematical Built-in Functions.

ATAN Mathematical Built-in Function • ATAND lVJathemati.cal Built-in Furcticn

ATA~H Mathematical Built-in Function COS Mathematical Built-in Function COSD Mathematical Built-in FUnction • COSH Mathematical Built-in ~unction

ERF Mathemat ical Built-in Function

ERFC Mathematical Built-in Function • • • • • •

• • • 209 .209

• .210

• • • • 210

• .210 .210 .210

• .211 .211

• .211 .211 .211

• • • • • .212 .213

• • • .213 .214 .214

• .214

• .214

• .220 .221 .221

• .221

• .221

• • • • • • .222

• .222 .222

• • • • • • .223

• .223

• .223

• .224 .224

• .224

• .225

• .226 .226

• .227

· .227

• • • .227

• .227 .227 .228 .228 .2,28 .228

• .228 .229

• • • • 229 .229

• .229 .229 .230

• .230

• .230

• .230 .231

• • • 231 .231

• .231 .233

• .233 .234

• .234

• .234

• .234

• .234

(13)

{

• .234 EXP Mathematical Built-in Function

LOG l-lathematical Built-in Function LOGlO Matfl'2matical Built-in Function LOG2 Mathematical Built-in Function SIN Matnematical Built-in Function SIND Mathematical Built-in Function SINH Mathematical Built-in Function

• • • • • .234 .235 .235

• • • • • • 235

SQRT Mathematical Built-in Function •

TAN Mathematical Built-in Function • • • • TAND Mathematical 9uilt-in Functions

TANH Mathematical Built-in Function • • Summary of Mathematical Functions • •

Array Manipulation Built-in FUnctions • • • • •

ALL Array :tJanilo;ulation Function. • • • • • • • • • • • ANY !,rray Mani[ulation Function . • • • • • • • • • DIM Array ~anipulation Function • • • • • • HEOUND Array Hanipulation FUnction • • • • • • • • • LBOUND Array Manipulation Function • • • • PCl.LY Array Manipulation Function • • • • • • • • • PROD Array t-lanipulation Function • • • •

• .235 .235 .235

• .235 .235

• .236

• .236 .236 .236

• • • 236 .236

• .237

• .237 .237

• .237 SUM Array Manipulation Function . • • • • • • • • • 237 Condition Built-in Functions . • . •

DATAFIELD Condition Built-in Function . ONCHAR CondiTion Built-in Function ONCODE Condition Built-in Function ONCOUNT Condition Built-In Function • ONFILE Condition Built-in Function ONKEY Condition Built-in Function • • ONLOC Condition Built-in Function • • ONSOURCE Condition Built-in Function Based Storage Built-in Functions . • . .

ADDR Based Storage Built-in Function EMPTY Based Storage Built-in Function NULL Based Storage Built-in Function NULLO Based ::~torage Built-in Function Multitasking Built-in Functions • •

• .238 .238 .238 .238

• • • 238 .238

• .239 .239 .239

• .239 .239

• .239

• .240 .240

• .240 COMPLETION Multi tasking Built-in Function • • • • • • .240 .240 .240 STATUS Multit_asking Built-in Function • • • •

Miscellaneous Built-In Functions • • • • • • • ALWCATION Built-in Function

COUNT Built-in Function • • DATE Built-in FUnction LINENO Built-in Function TIME. Built-in FUnction Pseudo-Variables • . . • • • •

COMPLETION Pseudo-variable COMPLEX Pseudo-variable

IMAG Pseudo-variable ONCHAR pseudo-variable ONSOURCE Pseudo-variable REAL Pseudo-variable STATUS Pseudo-variable STRING Pseudo-variable SUBSTR Pseudo-variable UNSPEC Pseudo-variable SECTION 8: ON-CONDITIONS Introduction . • • . . • •

Condition Codes (ON-codes) Multiple InterrJptions Section OrganizatiGn . . • . • Computational Conditions

The CONVERSION ;ondition The FIXEOOVFHFLOW Condition The OVERFLC. Condition The SIZE Condition . • • •

The UNDERFLOW Condition • • The ZERODIVIDE Condition

• .240

• .241

• • • • .241 .241 .241 .241 .241

• .242

• • • 242

• .242 .242

• .242

• • • • • • 242 .242

• .243

• .243

• .244

• .244

• • • • .244 .246 .246

• • .247 .247

• .248

• .248

• .248

• .248 .249

xiii

(14)

• .249

• .249

• .249 Input/Output Conditions • •

The ENDFILE Condition The ENDPAGE Condition The KEY Condition • . The NAME condition

• • • • • • • 250 The PENDING Condition •

The RECORD Conditien The TRANSMIT Condition

The UNDEFINEDFILE Condition •

• .250

• .250

• • • 250 .251

• .251

• .252 Program-Checkout Conditions • • •

The CHECK Condition • • • • • • • • • • • • • .252 The ~TRINGRANGE Condition • • • • • •

The SUBSCRIl''IHANGE condition

List Processing Condition • • • • • The AT<EA Condition • • • •

System Action Conditions • • • • The ERROR Condition • •

The FINISH Condition • • • • • • • • User-Named Condition

The CONDITION Condition

• .254 .254

• • • • 254

• .254

• .255

• .255

• .255

• .255

• • • 255 BECTIGN 'J: A'J."TPIBUTES . • . • • • • • • • • • • • .256

Specification cf Attril:utes • • • • • .256

Fact.oring of At:tributes • • • • • • .256

Data Attributes . • • • • • • • • • • • • • .256 Prohlem D~ta . . . • . . . • . • • • • • • • • • • • 256 Program Cord:.rol Data • • • • • • • • • • • • .257

Entry Name Attributes. • • .257

File Description AttribJtes • • • • • .257

Scope Attributes • . . . • • • • 257

Storage Class At Lributes • • • • • • • .258 Alphabetic I,ist of Attributes • • • • • • • • • 258 ll,LIGNED dnd UNALIGNED (Data Attributes) • • • • • • • .258 AREA (Pro9ram Control Data Attribute). • • • • • .259 AUTOMATIC, STATIC, CONTROLLED and BASED (Storage Class

Attributt.~~s) • • • • . . • • • • • • • • •

BACK~1ARfk; (File Description Attribute) • • • • • • • • • BASED (storage Class Attibute) • • • • • • • • • • • • BINARY and DECIMAL (Arithmetic Data Attributes) • • • • • BIT and CHARAC'I'ER (string Attributes) • •

BU:FF'ERED and UNBUFFERED (File Description Attributes) • BUILTIN (Entry Attribute) • • • • • • • • • •

CHARACTER (string Attribute) • • • • • • • • COMPLEX and REAL (Arithmetic Data Attributes) CONTROLLED (Storage Class Attribute)

DECIMAL (Arithmetic Data Attribute) • DEFINED (Data Attribute) • • • • • • Dimension (Array Attribute) • • • • •

DIRECT and SEQUENTIAL (File Description Attributes) • • ENTRY Attribute • . • . • • • • • . • •

ENVIRONMENT (File rescription Attribute)

EVENT (Program Control Data Attribute) • • • • • • • • • EXCLUSIVE (File Description Attribute)

EXTERNAL and INTERNAL (Scope Attributes) FILE (File Description Attribute) • • • • • • FIXED and FLOAT (Arithmetic Data Attributes)

FLOAT (Arithmetic Data Attribute) • • • • • • • • • • GENERIC (Entry Name Attribute) . • • • • • • • • • • •

INITIAL (Data Attribute) • • • • • •

INPUT, OUTPUT, and UPDATE (Fil~ r:escriFtion Attributes) • IN'fERNAL (Scope At tr ibute) • • • •

IRREDUCIBLE and REDUCIBLE • • • • • • • KEYED (File Description Attribute)

LABEL (Program Control Dat? Attribute) Length (String Attribute) • • • • •

• .260

• .261 .261

• .261

• .262

• .262

• .262 .263

• .263 .263

• .263

• • • • 263

• • • 265

• .266 .266

• .267

• .261 .268 .269

• .269 .269

• .269

• .269 .271

• .273

• • .273

• .273

• .273

• .273 .274 LIKE (Structure Attribute) • • • •

OFFSET and POINTER (Program Control Data Attributes) OUTPUT (File Description Attribute) • • • • • • • • •

• • • • 274

• • • • • • 275

• • • • • • 215

(15)

PICTURE (Data Attribute) • • • • • • POINTER (Program Control Data Attribute) POSITION (Data Attribute) • . • . . • Precision (Arithmetic Data Attribute) PRINT (File Description Attribute) REAL (Arithmetic Data Attribute)

.275

• .278 .278

• • .278 .279 .279 RECORD and STREAM (File Description Attributes) . • .279 Reducible . . • • • • • • • • • • •

RETURNS (Entry Name Attribute)

SEQUENTIAL (File Description Attritute)

• • • 279

• • • .279 STATIC (st.crage Class Attribute) • • • • • .280 .280 STREAM (File Description Att.ribute) .

TASK (Prograrr Control Data Attribute) UNALIGNED (Data Attribute) • • • • • UNBUFFERED (File Description Attribute) • UPDATE (File Description Attribute)

VARYING <String Attribute}

10: STATEMENTS ALLOCATE Statement

Assignment Statement BEGIN Statement CALL Statement CLOSE Statement DECLARE Statement • DELAY Statement • • DELETE Statement DISPLAY Statement • DO Statement • • • • END Statement •

ENTRY Statement • EXIT Statement FORl".AT Statement FREE Statement

• .280 .280 .280 .280 .280 .280

• .281

• .281

• .283 .286

• .287

• .288

• • • • • • • • • • • 288

• .289 .289 .290

• .290 .292 .293 .293

• .294

• • • • 294 SECTION

The The The The The The The The The The The The The The The The The 'l'he The The The The The The The The The The The The The The The

GET Statement • • • GO TO Statement • • IF Statement

LOCATE Statement Null Statement

• • • • • • • • • • • • • • 295

ON Statement OPEN Statement PROCEDURE Statement PUT Statement • • READ Sta tement RETURN Statement REVERT Statement REWRITE Statement • SIGNAL Stat.ement STOP Statement UNLOCK Statement WAIT statement WRITE Statement • • Preprocessor Statements •

The %ACTIVATE Statement

The % Assignment Statement • • • • The %DEACTIVATE Statement •

The %DECLARE Statement The %00 Statement • •

The %END Statemlnt • • • • • • • • The %GO TO Stah:ment

The %IF statement • • • The %INCLUDE Statement The % Null st: at:';ment The %PROCED', :E Statement

The Preprocessor RETURN Statement

• .296

• • • • 296

• .297

• .297

• • • • • ..297

• • • • • .299

• • • • 300

• JOl

• • • • • • 303 .305

• .305

• .306

• • • 307

• .307

• .307

• .307

• .308

• • • 309

• .309 .310 .310

• .310 .311

• .311 .312 .312

• • • .312

• • • • 313

• .313

• .314

xv

(16)

SECTION 11: DATA MAPPING Structure Mapping •

• • • • • .315 .315 Ru les • • . • . . • • • • • • • • • • • 315

Rules for Orcler of Pairing Rules for Mapping One Pair Effect of UNALIGNED Attribute Example of Structure Mapping Record Alignment • . . • . SECTION 12: DEFINITIONS OF TERMS INDEX •

FIGURES - - - - -

Figure 1. Some Functions of Special Characters Figure 2. Target Types for Expression Operands Figure 3. Precision for Arithmetic Conversion.

Figure 4. Lengths of Character-String Targets • • • • • • Figure 5. Lengths of Bit-String Targets • • • •

Figure 6. Circumstances that can Cause Conversion.

Figure 7. Scopes of Data Declarations • • • • • • Figure 8. Scopes of Entry and Lahel Declarations

figure 9. General Format for Repetitive Specifications

.315

• . 316 .316 .318

• • • 326 .329 .336

9 42

• 43 45 45 46 67 68

• 82 Fiqure 10. Examrle of Data-Directed Transmission (Both Input and

Output) . • . . • . . • . • • . . . • . • • • • • • • • • 87 Fiyure 11. Options and Format IteJ11s for Controlling Layout of

PRINT Files . . . • . • • . • • • . • • • • • • • • • • • • 91 Figure 12. Relationship Between Line Size and Record Size

Figure 13. Inrut and Output: Move Mode • • . • • • • Figure 14. Locate Mode Input, Move Mode Output • • •

Figure 15. 3taterr'ents and Options Permitted for Creating and

• 94

• 99

• • • • 100 Accessing CONSECUTIVE Data Sets . . . • . • • • • • • .105 F'igure 16. Relationship Between RKP Suboperand and Record Format • • 106 Figure 17. Statements and Options Permitted for Creating and

Accessing INLEXEI: Data Sets • . . . • . . • •

Figure 18. A Program Checkout Routine • . • . • • • • • Figure 19. Exarnfle of TWO-Directional Chain • • • • •

.107

• • • 135 .150 2} 164 Figure 20. Implicit Data Conversions Performed Inline (Part 1 of

Figure 21. Conditions Under Which the String Operations are

Handled Inline . . • • . . • • . • • • • • . • • • • • • .167 Figure 22. Conditions Under Which the String Functions are Handled - Inline • • • • • . . • • • • • . • • • • • .168 Figure 23. Pictured Character-String Examples .193 Figure 24. Pictured Numeric Character Examples • • 194 Figure 25. Examples of Zero Suppression . • • • .195 Figure 26. Examples of Insertion Characters • • 196 Figure 27. Examples of Drifting Picture Characters • . 198 Figure 28. Examples of CR, DB, T, I, and R Picture Characters • • 199 Figure 29. Examples of Floating-Point Picture Specifications .200 Figure 30. EXaJ11ples of Scaling Factor Picture Characters • • • • 201 Figure 31. Examples of Sterling Picture Specifications .201 Figure 32. Examples of Conversion From Fixed-Point to

Character-String • • • • • • • • • • • • • • • • .214 Figure 33. Bxamples of Conversion FroIT Arithmetic to Bit-string • • 215 Figure 34. Data Type of Result of Bit-string Operation • • • • • • • 215 Figure 35. Data Type of Result of Concatenation Operation • • 215 Figure 36. Data Type of Result of Comparison Operation. • • • .215 Figure 37. Data Type of Intermediate Operands of comparison

OpeIa tion • . • • • • • • • • • • • • • . • • • • • • • •

Figure 38. Data Type of Result of Arithrr,etic Operation • • • • Figure 39. Precision for Ari th; letic Conversions • • • • • •

• .216 .216

• • 216 Figure 40. Lengths of Converted Character strings (Arithmetic to

Character-String) • • • . • • • • • . • • • • • • • • • . • • • • • • 217

(17)

Page of GC28-2045-1, Issued September 30, 1971 by TNL GN28-3185

Figure 41. Lengths of converted Bit Strings (Arithmetic to Bit-String) • • • • • • • • • • • • • • • . • • • • • • • • • • Figure 42. Ceiling Values • • • • • • . • • • • • • • • • • Figure 43. Attributes of Result in Addition and Subtraction Operations . • . • • • • • • • • . . . • . . • • • . • . Figure 44. Attributes of Result in Multiplication OFerations Figure 45. Attributes of Result in Division operations • • . • Figure 46. Attributes of Result in Exponentiation Operations • Figure 41. Mathematical Built-In Functions (Part 1 of 2)

Figure 48. Permissible Items for Overlay Defining • • • • Figure 48A. Summary of Attributes • • • • . • • • •

Figure 49. General Formats of the Assignment Statement Figure 50. General Format of the 00 staterrent

Figure 51. Format of Option List for READ Statement

Figure 52. General Format of the IDECLARE Statement • • • • Figure 53. Summary of Alignment Requirements for ALIGNED Data Figure 54. Summary of Alignment Requirements for UNALIGNED Data

• • .217

• • • 217 .218

• .218 .219

• • . 219 .232

• .259

• .280 .284 .290 .303

• .310

• • .317

• .318 .319 Figure 55. Mapping of Minor Structure G

FigUre 56. MaFPing of Minor Structure E Figure 51. MaFPing of Minor Strucrure N

Figure 58. Mar-ping of Minor Structure S Figure 59. Mapping of Minor Structure C Figure 60. Mapping of Minor Structure M

• • • • • • • • 320

• • • • • • • • 321

• • • • • • • • 322

Figure 61. MaFping of Major Structure A

FigUre 62. Offsets in Final Mapping of Structure A Figure 63. Format of Structure S • • • • • Figure 64. Block Created from Structure S

Figure 65. Block created by Structure S With Correct Alignment Figure 66. Alignment of Data in a Buffer in Locate ~ode

Input/Output, for Different Formats and Data Set organizat.ions

• .323 .324 .325

• .326

• .326

· . .326 .327

• • 328

x vi. i

(18)
(19)
(20)

An expLanation of the syntax Language used in this publication to describe ele- ments of PL/I is contained in Part II. Sec- tion 1, "Syntax Notation."

IMPLEMENTATION CONSIDERATIONS

This publication reflects features of Ithe TSS/360 version of the PL/I compiler.

No attempt is made to provide complete implementation information. Discussion of implementation is limited to those features That are required for a full expLanation of

the language. For example, references to certain parameters of the DDEF conmand are essential to an expLanation of record- oriented input and output fiLe

organization.

Implementation features identified by the phrase "for System/360 implementa- tions ... apply to all impLementations for IBM System/360 computers. Features identi- , fied by the phrase "for the TSS/360 PL/I

compiler ••• • appLy specifically to the PL/I compiLer under the IBM System/360 Time Sharing System.

(21)

PART I: CONCEPTS OF PL/I

Introduction 3

(22)
(23)

The modularity of PL/I, the ease with which subsets can be defined to meet dif- ferent needs, becomes apparent when one examines the different features of the lan- guage. Such modularity is one of the most important characteristics of PL/I.

This chapter contains brief discussions of most of the basic features to provide an overall description of the language. Each is treated in more detail in subsequent sections.

~~CHINE INDEPENDENCE

No language can be completely machine independent, but PL/I is much less machine dependent than most commonly used program- ming languages. The methods used to achieve this show in the form of restric- tions in the language. The most obvious example is that data with different 'charac- teristics cannot in general share the same storage; to equate a floating-point number with a certain number of alphabetic charac- ters would be to make assumptions about the representation of these data items which would not be true for all machines.

It is recognized that the price entailed by machine independence may sometimes be too high. In the interest of efficiency, certain features such as the UNSPEC built- in function and record-oriented data tranS- mission, do permit a degree of machine dependence.

PROGRAM STRUCTURE

A PL/I program consists of one or more blocks of statements called procedures. A procedure may be thought of as a subrou- tine. Procedures may invoke other proce- dures, and these procedures or subroutines may either be compiled separately, or may be nested within the calling procedure and compiled with it. Each procedure may con- tain declarations that define names and control allocation of storage.

The rules defining the use of proce- dures, communication between procedlres, the meaning of names, and allocaticn of storage are fundamental to the proper un- derstanding of PL/I at any level bu·, the most elementary. These rules give the user considerable control over the .C'. gree of interaction between subroutines. They per- mit flexible communication and storage allocation, at the same time allowing the

SECTION 1: BASIC CHARACTERISTICS OF PL/I

definition of narres and allocation of

storage for private use within a procedure.

By giving the user freedom to determine the degree to which a subroutine is self- contained, PLiI makes it possible to write procedures which can freely be used in ether environments, while still allowing interaction in procedures where interaction is desirable.

DATA TYPES AND DATA DESCRIPTION

The characteristic of PL/I that most contributes to the range of applications for which i t can be used is the variety of data types that can be represented and manipulated. PL/I deals with arithmetic

data, string data (bit and character), and program control data, such as labels.

Arithmetic data may be represented in a variety of ways; i t can be binary or deci-

~al, fixed-point or floating-point, real or complex, and its precision may be

specified.

PI/I frovides features to perform arith- metic operations. operations for corrpari- sons, logical manipulation of bit strings, and operations and functions for assero- cling, scanning, and subdividing character s1:rings.

The compiler must be able to determine, for eVEry name used in a program, the com- plete set of attributes associated with that name. The user may specify these attributes explicitly by means of a DECLARE statement, the compiler may determine all or some of the attributes by context, or the attributes may be assumed by default.

CEFAULT ASSUMPTIONS

An imFortant feature of PL/I is its default philosophy. If all the attributes associated with a name, or all the options permitted in a statement. are not sFecified ty the user, attributes or options may be assigned by the compiler. This default action has two main consequences. First, i t reduces the amount of declaration and ether program writing required; second, i t makes i t possible to teach and use subsets of the language for which the user need not know all possible alternatives. or even that alternatives exist.

Since defaults are based on assumptions about the intent of the user, errors or Section 1: Basic Characteristics of PL/I 5

(24)

omissions may be overlooked, and incorrect attributes may be assigned by default. To reduce the chance of this, the compiler optionally provides an attribute listing, which can be used to check the names in the program and the attributes associated with them •

STORAGE ALLOCATION

PL/I goes beyond most other languages in the flexibility of storage allocation that i t provides. Dynamic storage allocation is comparatively difficult for an assembler- language user to handle for himself; yet i t is automatically provided in PI/I. There are four different storage classes: AUTO- lilA TIC, STATIC, CON'rROLIED, a nd BASED. In general, the default storage class in PL/I is AUTOMATIC. This class of storage is allocated whenever the block in which the variables are declared is activated. At that time the bounds of arrays and the lengths of strings are calculated. AUTO- MATIC storage is freed and is available for reuse whenever control leaves the block in which the storage is allocated.

Storage also may be declared STATIC, in which case i t is allocated when the program is loaded; i t may be declared CONTROLLED, in which case i t is explicitly controlled

by the user with ALLOCATE and FREE state- ments, independent of the invocation of blocks; or i t may be declared BASED, which gives the user an even higher degree of control.

The existence of several storage classes enables the user to determine for himself the speed, storage space, or programming economy that he needs for each application.

The cost of a particular facility will depend upon the implementation, but i t will usually be true that the more dynamic the storage allocation, the greater the over- head in execution time.

EXPRESSIONS

Calculations in PL/I are specified by expressions. An expression has a meaning in PL/I that is similar to that of elemen- tary algebra. For example:

A + B

*

C

This specifies multiplication of th~ value of B by the value of C and adding the value of A to the result. PI/I places few re- strictions on the kinds of data tha~ can be used in an expression. For example, i t is conceivable, though unlikely, that A could be a floating-point number, B a fixed-point number, and C a character string.

When such mixed expressions are speci- fied, the operands will be converted so that the operation can be evaluated mean- ingfully. Note, however, that the rules for conversion must be considered careful- ly; converted data may not have the same value as the original. And, of course, any conversion requires additional com~iler­

generated coding, which increases execution time.

The results of the evaluation of expres- sions are assigned to variables by IIeans of the assignment statement. An example of an assignment statement is:

x

= A + B

*

C;

This means: evaluate the expression on the right and store the result in X. If the attributes of X differ from the attributes cf the result of the expression, conversion will again be ~erformed.

LATA COLl.ECTIONS

PL/I permits the user many ways of describing and operating on collections of data, or data aggregates. Arrays are collections of data elements, all of the same type, collected into lists or tables of one or more dimensions. Structures are hierarchical collections of data, not necessarily all of the same type. Each level of the hierarchy may contain other structures of deeper levels. The deepest levels of the hierarchy represent elemen- tary data items or arrays.

An element of an array may be a struc- ture; similarly, any level of a structure may be an array. Operations can be speci- fied for arrays, structures, or parts of arrays or structures. For example:

A

=

B + C:

In this assignment statement, A, B, and C could be arrays or structures.

INPUT I,ND OUTPUT

Facilities for input and output allow the user to choose between factors such as Simplicity. machine independence, and effi- ciency. There are two broad classes of input/output in PL/I: stream-oriented and record-oriented.

Stream-oriented input/output is almost completely machine independent. On input, data items are selected one by one from what is assumed to be a continuous stream of characters that are converted to inter- nal form and assigned to variables speci- fied in a list. Similarly, on output, data

(25)

items are converted one by one "Lo external character form and are added to a conceptu- ally continuous stream of characters.

Within the class of stream input/output, the user can choose different levels of control over the way data .items are edited and selected fronl or added t.o the stream.

For printing. the output stream may be considered to be divided into lines and pages. An output stream file may be declared to be a print file with a speci- fied line size and page size. The user has facilities to detect the end of a page and to specify the beginning of a line or a page. These facilities may be used in sub- routines that can be developed into a report generating system suitable for a particular installation or application.

Record-oriented input/output is machine dependent. I t deals with collections of data. called records, and transmits these a record at a time without any data conver'- sion; the external representation is an exact copy of the internal representation.

Because the aggregate is treated as a whole, and because no conversion is per- formed, this form of input/output is poten- tially more efficient than stream-oriented input/output, although the actual efficien- cy of each class will, of course, depend on the implementation.

Stream-oriented input and output usually sacrifices efficiency for ease of handling.

Each data item is transmitted separately and is examined to determine if data con- version is required. Record-oriented input and output, on the other hand, provides faster transmission by transmitting data as entire records, without conversion.

COMPILE-TIME OPERATIONS

Most programming is concerned only with operations upon da'ta. PL/l permits a compile-time level of operation, in which preprocessor statements specify operations upon the text of the source program itself.

The simplest, and perhaps the commonest preprocessor statement is %INCLUDE (in gen- eral, preprocessor statements are preceded ty a percent sign). This statement causes text to be inserted into the program,

replacing the %INCLUDE statement itself. A typical use could be to copy declarations from an installation's standard set of definitions into the program.

Another function provided by compile- time facil ities is the selective cO'.Ipi la-

tion of program text. For example, i t might specify the inclusion or deletion of debugging statements.

Since a simple but powerful part of the PL/I language is available for compile-time act,ivity, the generat.ion, or replacement and deletion, of text can become more elab- orate, and more subtle transformations can be performed. Such transformations might then be considered to be installation- defined extensions to the language.

INTERRUPTION ACTIVITIES

computing systems provide facilities for interrupting the execution of a program whenever an exceptional condition arises.

Further, they allow the program to deal with the exceptional condition and to return to the point at which the interrup- tion occurred.

PI/I provides facilities for detecting a Variety of exceptional conditions. It allows the user to specify, by means of a condition prefix, whether certain interrup- tions will or will not occur if the condi- tion should arise. And, by use of an ON statement, he can specify the action to be taken when an interruption does occur.

MULTITASKING

In TSS/360, the concept of multitasking is inherent in the structure of the system;

there are extensive multitasking facilities in the TSS/360 command system. In this implementation of the corr'piler, no initia- tion of tasks will be permitted from within a PL/I execut..able program. The user can start an independent task in TSS/360 by several different methods. There is no way for these tasks to communicate within the PL/l code. (Refer to IBM System/360 Time

Sharin~?tem: Command System User's Guide, Order No. GC28-2001.)

'T'h(; effect, then, is that although mul- titasking statements are accepted by the compiler, the current implementation cannot honor them and upon encountering a tasking st.atement will terminate execution.

Note: If a Frogram contains a CALL state- ment with a multitasking option (TASK, EVENT, or PRIORITY), the entire program is unacceFtable for TSS/360 execution.

Section 1: Basic Characteristics of PL/I 7

Références

Documents relatifs

14ANTEV2ME3C Page : 1/3 BACCALAURÉAT TECHNOLOGIQUE ANGLAIS LV2, SESSION 2014 STI2D, STD2A, STL, ST2S et STMG CORRIGÉ-BARÈME sujet Reading and Writing ATTENTION : - Avant

When forming their value proposition, which is needed for acquiring new customers, the company may focus one of the three main assets that are needed to run process instances:

We also performed combined water entry and exit experiments with a conical mock-up in order to investigate the performance of the LED edge-lighting technique for the tracking of

L’archive ouverte pluridisciplinaire HAL, est destinée au dépôt et à la diffusion de documents scientifiques de niveau recherche, publiés ou non, émanant des

The number of entries and exits in a local market are related to the market room, the number of unemployed and two control variables: population growth and the number of incumbent

This is why the real South African citizens that Michener met were so important: they brought the authentic flavor required for the book to be potentially said and

Gardea-Torresdey acknowledges the Dudley family for the Endowed Research Professorship and the Academy of Applied Science/US Army Research Office, Research and

Here, we describe the crystal structure of mature virions of cricket parvovirus (Acheta domesticus densovirus [AdDNV]) at 3.5-Å resolution and the cryo-electron microscopic