• Aucun résultat trouvé

IBM Syst,em/360 Operating System PL/I (P) Compiler

N/A
N/A
Protected

Academic year: 2022

Partager "IBM Syst,em/360 Operating System PL/I (P) Compiler "

Copied!
390
0
0

Texte intégral

(1)

IBM Syst,em/360 Operating System PL/I (P) Compiler

.Program Logic Manual Pro"gram Number 3S0S-NL-Sll

This manual describes the internal design of the IBM system/360 operating System PL/I (F) Compiler. It is aimed at personnel responsible for analyzing program

operations~ diagnositig malfuncti6ns, and.

changing the prpgram format for special or national language usage. The information provides a guide for effective use of th~·;

program lis~ings. Program logic informa~

tion· is not necessary for the use and operation of the program~ .therefore, dis- tribution of this publication is limited to.

those ." persons wi th the a'forementioned

requireIlients~

Restricted Distribution

Form Y28-6800-1

Program Logic

(2)

PREFACE

This publication is organized in three sections. Section 1 is an introduction describing the relationship between the compiler and the Operat1ng System. and the overdll organization of the compiler. Sec- tion 2 is a description of the compiler

phases~ including a general description of each logical phase followed by descriptions of each of the phys'ical phases contained in the logical phase. Section'3 consists of flowcharts and routine directories. The flowcharts show the relationship between the routines of each phase. while the directories list the routines and their functions.

The appendixes appearing at the end of the publication contain topics of special importance and reference material.

The convention has been followed in this manual of printing all PL/I language items in block capitals,.

Prerequisite to the use of this publica- tion are the following:

IBM System/360, Principles of operation.

Form A22-6821

IBM System/360 Operating System. PL/I (F) Programmer's Guide. Form C28-6594

IBM System/360 Operating System, PL/I Language Specifications. Form C28-6571

Although not prerequisite, the following publications are related to this manual and should be consulted:

IBM Systeml360 Operating System., Program Logic Summ2ry. Form Y28-6605

IBM Systeml360~~!£ing System, Sequen- tial Access Methods frog ram Logic~ Form Y28-6604

IBM Operating--2Y~te.;m/~3~6~O~, __ ~O~p~e~r~a~t~o~r_·~s

Guide. Form C28-6540

IBM Systeml36~~~!iing System. Control Program services~ Form C28-6541

IBM System/360, System Guide. Form C28-6550

Programmer·' s

IBM Operatin~iem/36QL storage Esti-

~. Form C28-6551

IBM Systeml360 Ope~ating System. System

Generatio~, Form C28-6554

IBM System/360 Operating System. PL/I Subroutine Library, Program Logic __ Manu- al, Form Y28-6801

Major Revision (December 1966)

This edition. Form Y28-6800-1. obsoletes Form Y28-6800-0. Significant changes have been made throughout the manual. and this new edition should be reviewed in its entiretY4

RESTRICTED DISTRIBUTION: This publication is intended primarily for use by IBM personnel involved in program design and maintenance4 It may not be made available to others without the approval of local IBM management.

Copies of this and other IBM publications can be obtained through IBM Branch Offices.

A form for reader's comments appears at the back of this publication.

It may be mailed directly to IBM. Address any additional comments concerning this publication to IBM United Kingdom Laboratories Ltd., Programming Systems publications, Hursley Park, Winchester, Hampshire,

(3)

SECTION 1: INTRODUCTION • • • • • 13 Purpose of the Compiler,. • 13 The Compiler and operating System/360. • 13 Compiler Organization. • • • • • • .. • .. 15 Logical Phases. • • • • • • 17 Compile-time Processor Phase . . . . 17 Read-In Phase. • • • • 17 Dictionary Phase. • • • 17 Pretranslator Phase. • • 17 Translator Phase .. • • 17 Aggregates Phase. • .. • 17 Pseudo-Code phase. • • . . . 17 storage Allocation Phase • • .. 17 Register Allocation Phase. • 18 Final Assembly Phase • • • • 18 Error Editor Phase • • • 18 SECTION 2: COMPILER PHASES • 19.

Compiler Control and 48-Character Set

Prep~ocessor. .. • • • • 19 compiler Control. • .. • • • • • .. • • 19 Initialization • • • • .• • • • 19 Character Translation Tables • • • 19 Communications Region. • • • • 19 Text and Dictionary Block

Control.. • • • • • • • • Scratch Storage Control,. • storage Requirements .• .. ..

Phase Loading. • .. • • .•

Phase Directory. • • • • Diagnostic Message Control • Input/Output Control •

Program Check Handling Job Termination. .. .. .. • Compiler Control Modules.. • •

Module AC. • • • • • .. • • Module AD. • • .. •

The DUMP Option. ..

Module AE.. • • • Module AF.

Module AG. • Module

AM.

Module JZ .•

48-Character set Preprocessor •

• 19

• 19

• .. 20 20

• 20

• 20

• 20

• 20

• • .• 20

• 21

• 21

• • 21

• 21

• • • 22

• • 22

• • 22

• 22 .. 22

• 22 Compile-time processor Phase. Line NUmbering Phase AS

.. · .- . · .. · ·

23 23 23

Phase AV Phase BC

. . .. . . . · · .. .. .. · · · .. ·

23 23

Phase BG Phase BM ,.

· .. .. · ·

24 24

Module BN,. Phase BW •

· ·

24 24

The Read- In Logical Phase .• Statement Numbering. Statement and Entry Labels ~

· . .. · · · · .. · ·

24 25 25

The

The

The

The

The

CONTENTS

Chains Constructed by Read-In. 25 Errors and Diagnostic Messages • • 25 The output String. .. .. 26

Identifiers. • 26

Constants. .. .. .. • .. .. • .. .. .. .. .. 26 Operators. .. .. .. • .. .. .. .. .. .. 26 Initial Labels .. .. .. • • 26 Structure of the Read-In Logical

Phase. • .. .. • • • .. .. • .. .. • 26 26 Phase CI .. • • .. • • • • ..

Phase CL • 27

Phase C~ .. .. .. • .. ..

Phase CS

.. .. .. .. .. 27

• 27

Phase CV .. .... 27

Dictionary Logical Phase • • .. • • • 27 Constructing and Accessing

the Dictionary. • • • • .. • • • 21 Testing for Consistent

Attributes .• .. • • .. .. • ..

Compiler Pseudo-Variables and Functions .. • .. ..

Dictionary Entries for Entry Points. .. .. •

Phase EG • .. • .. .. .. ..

Phase EI ..

Phase EL •

.• 28 .• 28

• 28 . . . 29

• 30 .. 30

• • • 31 Phase EP .. ..

Phase EW ..

Phase EY • Phase FA ..

Phase FE ..

Phase FI •

• • • • • • • • • 31

• .. • • • 32

.. • .. .. • 32

• • • • • • • • • 32 Phase FK .. .. • • .. ..

Phase.F~ • Phase FQ ..

Phase FT ..

Phase FV .. • • • .. .. ..

Phase FX •

.. 33

• 33

• 33 33 .• 34

• 34

• 34 Pretranslator Logical Phase. .. .. 35 Additions to the Text. .. • ... 35

Phase G~ .. 36

Phase GK .. .. • .. .. .. • 36

Phase GP .. .. .. 36

Phase GU .. .. 31

Phase HF .. 37

Phase. HK .. 37

Phase HP .. .. • 37

Translator Logical Phase ..

.. ..

38

Phase IA.

·

38

phase IG

. .. .. .. ..

39

Phase IL ..

.. .. .. ..

39

Phase 1M

.. .. .. . .

39

Aggregates Logical Phase. 39

Phase JK •

..

39

Phase JP

.. . .. .. ..

40 Pseudo-Code Logical Phase.

.. .. ..

40

Pseudo-Code Design ..

.. .. . ·

40

(4)

Pseudo-Code Items.

· · · · · .. ·

Register Description

· .. .. ..

.

. ..

The Use of Symbolic Unassigned Registers

.. .. · .. · .. · .. · .. ..

The Use of Physical Registers.

·

Temporary Descriptors.

· · .. ·

Temporary Workspace.

·

Phase LA

.. · .. .. .. ·

Phase LB

.. · · · .. · · .. · ·

Phase LD

· · · · .. ·

Phase LG

.. · · .. ·

Phase LR

.. · · · · .. .•

Phase LS Phase LV

.. .. · .. .. · ·

Phase LW

· ·

Phase MB

· · · .. .. · · · .• ·

Phase MG

· .. .. · · · .. ·

Phase MI

..

Phase MK

· · .• .• ·

Phase ML

· .. .. .. ·

Phase MM

·

Phase MP

.. .. .. · · .. ·

Phase MS

.. ·

Phase NA

.. .• .• .• · .•

Phase NG

.. · · · .. · ·

Phase NJ

.. .. · · .. ·

Phase NM

·

Phase NT

Phase NU

· · ·

Phase OB

· · · · .

Phase OE

.. · ·

Phase OG

.• · .. · . .• ·

Phase OS

· .. .. ..

The Storage Allocation Logical Phase Phase 'PD

.. ·

Phase PH

..

Phase PL

.. ·

Phase PP

.. · · · .. · · .. .. · .• ·

Phase PT

· · · .. ·

Phase QF

· · .. · .. ·

Phase QJ

· ·

The Register Allocation Logical Phase .•

Phase RA

· · · ..

Phase RF

.. · · · .. ..

The Final Assembly Logical Phase Phase TA

·

· · · .. .• .• ·

Phase TF

.. .• · .. · · .. · .•

Phase TJ Phase TO Phase TT Phase UA Phase UD

· · · .• .. · · · .. · · .. .. .• · ·

Phase UF

· · · .. · ·

The Error Editor Phase

..

Phase XA

..

SECTION 3: CHARTS AND ROUTINE

DIRECTORIES

.• .. .. .. · .. ..

...

.. .• · .. ·

APPENDIX A: GUIDE TO PHASES AND MODULES

. .. .. .• · .. · .. · .•

APPENDIX B: RESIDENT TABLES •

.. .. ·

·

41

·

41

..

41

·

41

·

41

·

41

·

41

.•

42

·

42 42

·

42

· ·

42 43

..

43

·

43

·

44

· ·

44 44

.•

44

·

44 44

·

45

·

45

·

45

·

45

·

46

·

47

..

47

·

48

..

4B

.•

48

48

·

49

·

49

·

49

·

50

·

50

·

51

·

51

·

52

·

52 52

·

53

53

·

54

·

54

·

54

·

54

·

55

·

55

..

55

·

55

·

55

·

56

..

57

.287 .290

Organization of Keyword Tables .• .. • • .290 Format of First Level Directory • • 291 Format of Second Level Directory .291 Format of Third Level Tables • • • 291 Format of Entry Requiring

Additional Comparisons . . . 291 Phase Directory. • • • .. • • • • .. .292 Control Code Word -- CCCODE . . . 292 APPENDIX C: INTERNAL FORMATS OF

DICTIONARY E~TRIES.

1. Dictionary Entry Code Bytes ..

• .. 293

• • 293 2. Dictionary Entries for Entry Points .295

Entry type 1 for PROCEDURE,

BEGIN, and ENTRY statements .295

Entry Type 2 • • .297

Entry Type 3 • • .. • . . 2 9 7 SETS List Format. . • • • • • • 29B Entry Type 4 .. • .• • • • • .298 Entry Type 5 .. • • .299 GENERIC Entry Point. • .. .. • .299 3. Code Bytes for Entry Dictionary

Entries .. • .. • .. • • .• .• • • • .299 ENTRY Code Byte . . . 299 Options Code Byte . . . 299 4 .• Dictionary Entries for Data. Label,

and Structure Items • • .. • .. • . . . .• 300 Label Variables Obtained

from DECLARE Statement . . . 300 Dictionary Entries for Data

Items.. • • • • .. • • .. • Ie •• 300 Major and Minor Structure

Entries.. .. .. • • .. .301 5. Code Bytes for DATA" LABEL. and

STRUCTURE Dictionary Entries. .303 The First Code Byte - Other 1 • • • 303 The Second Code Byte - Other 2 . . . 303 The Third Code Byte - Other 3 • • • 304 The Fourth Code Byte - Other 4 .304 Variable Byte. • • • • .. .. .. .305 Data Byte . . . 305 6. Format of Variable Information . . . 305

Uses of the OFFSET1 and OFFSET2 Slots in Data, Label, and

Structure Dictionary Entries . . . 308 STATIC INTERNAL Structures . . . 308 AUTOMATIC Structures,. • • • • .. .. 308 STATIC EXTERNAL and Parameter

Structures. • • .. • • • .. 308 CONTROLLED Structures . . . 308 Non-Structured Arrays in

STATIC INTERNAL.. • • .308 Non-Structured Arrays in

AUTOMATIC.. .. • .. • .. .. .• .. 30B STATIC EXTERNAL, CONTROLLED or

Parameter Array . . . 308 Non-Structured Scalar strings

in STATIC INTERNAL . . . 308 Non-Structured Scalar Strings

in AUTOMATIC. .. • .• • .. • . . . .309

(5)

Non-structured Scalar Strings in STATIC EXTERNAL,

CONTROLLED or Parameter. .309 Non-Structured Non-String

Scalars in AUTOMATIC or

STATIC INTERNAL • • • • • • • • 309 Non-Structured Non-String

Scalars in STATIC EXTERNAL,

CONTROLLED or Parameter. • .309 7. other Dictionary Entries • • •

Label Constants Extracted by the Read-In Phase.

Compiler Labels 0 Formal parameter type 1

• .309 .309 .309 entry. • • • • • • • • • • .309 Dictionary entry for FILE • • • 310 FILE Constants. .. • • • • • • 310 FILE Parameters and Temporaries • • 310 FILE Environment Entries. .310 Dictionary Entries from

Constants. .. • • • • • • • .310 Task Identifiers and EVENT Data • • 311 Dictionary Entries for Built-in

Functions • • • • • • • • Second Code Byte • • • • • • ..

Internal Library Functions • BCD entries. • •

Dictionary Entry for Parameter

.311

• .. 312 .312 .312 Descriptions. • • • .312 ON Statements. • .. • • .... .312 ON Condition. • • • • • • .313 CHECK List Entry. • • • 313 PICTURE Entry. • .. • • • 313 Byte 9 - Code Byte. • • • 313 Dictionary Entry for Workspace

Requirement • • • .. • • • • • • .313 Dictionary Entry for Parameter

Lists . . . 314 Dictionary Entries for Dope

Vector Skeletons. • • • • • .314 Symbol Table Entry • • • • • • • • 314 Dictionary Entry for AUTOMATIC

Chain Delimiter .. .• • DED Dictionary Entry DED2 Entries • • Q

Dictionary Entry for FED - Format Element Descriptor ••

Label BCD Entries. • • • • Dope Vector Entries for

.314

• .314

• .315 .315

• .315 Temporaries .. • • • • .. • ..315 Record Definition Vector Entry • • 315 Dope Vector Descriptor Entry • • ' .316 Format of a Second File

Dictionary Entry. .316

8. Dimension Table • .316

APPENDIX D: INTERNAL FORMATS OF TEXT • • 317 1. Text Code Byte after the Read-In

Phase. • • • .. • • .. .. .. • • • .318 First Level·Table (00 to 7F) . . . . 318 First Level Table (80 to FF) • • • 319 Second Level Table (00 to 7F)

(preceded by second level

marker byte C8) • • • • • • • 320 Second Level Table (80 to FF) • • • 321

2. Text Formats After The Read-In Phase • .. • • • • • • • • •

PROCEDURE Statement.

ENTRY Statement..

BEGIN Statement. • END Statement. ..

IF Statement • ..

DO Statement • ..

ON Statement • ASSIGN statement •

• • • .. • • 321 . . . 321 . . . . 322

• .322

• .322

• .322 .323 ' • • 323 .323 WAIT statement. ..

CALL statement.

• . . . 324 . . . 324 GO TO Statement.

SIGNAL and REVERT Statements • DISPLAY Statement.

.324

• 324 ,.324 .325 .325 .325 .325

• 325 .326 .326 DELAY Statement. • • • • • • .. ..

RETURN Statement • • • .. • • '. • STOP, EXIT,' and Null Statements.

INITIAL Label DECLARE Statements DECLARE and ALLOCATE Statements • FORMAT Statements. • • • • • • • OPEN and CLOSE Statements. • • • READ .. WRITE" GET, PUT, REWRITE.

UNLOCK, and DELETE Statements • • 326 3. Text Code Bytes on Entry to the

Translator Phases . . . . 327 4. Format of Triples • .329 5. Text Code Bytes in Pseudo-Code • • • • 332 6. Text Formats in Pseudo-Code •

Pseudo-code DeSign • RX Instructions.

RS Instructions.

RR Instructions.

SI Instructions.

• .332 .332 .333

• .334 ,.334 .334 SS Instructions. • • . . . 334

Variable Length Item FLAG. .334 compiler' Function (Bit 1=1). • • .335 7. Text Formats in Absolute Code

RR Instructions.

RX Instructions. • SS Instructions. • RS Instructions.

SI Instructions.

8. Second File Statements.. and the Formats of Compiler Functions and

.335 .336 .336

• • • 336 ,.336 .. 336

Pseudo-variables. .. • .. • • .336 Second File statements • • • • • • 336 Array Bounds '. • • • • • • • .337 Multiplier Function. • • ..3~1

String Length statement. • • .338 INITIAL value statements. .338 Second File Statements for

DEFINED . . . 338 9. Pseudo-Code Phase Temporary Result

Descriptors (TMPD) . . . 339' Temporary Description Stack • • • 339 Temporary Descriptions in

Pseudo-Code. • .. • .. • • .340 10. Library calling Sequences, • • • .341

(6)

11. Descriptions of Terms and

Abbreviations used in Text During a

Compilation • .. • .. • .. • .• • • .. ,.341

APPENDIX E: STORAGE REQUIREMENTS • • ,.350

Compiler Requirements and Dictionary/Text Block

Relationship . . . 350 APPENDIX F: COMMUNICATIONS REGION • • 352 Transfer Vectors. • • • .352 Communications Region. • .353 APPENDIX G: SYSTEM GENERATION. • .356 APPENDIX H: CODE PRODUCED FOR

PROLOGUES AND EPILOGUES .• • • • • • • .358

Prologues and Epilogues • • • • .358 APPENDIX I: DIAGNOSTIC MESSAGES. .363 APPENDIX J: COMPILE-TIME PROCESSOR .370 1. Internal Formats of Text . . . 370 Format of a Dictionary Entry .370 Format of an Identifier Value

Block (IVB) • • • • .. .. • .. .371 Instruction Codes for the

Compile-time processor. .372 2. Communications Region Use .. ..

3. Compile-time Processor. Operating System, and Compiler Control

.. .375

Interfaces . . . 377

(7)

Figure 1. Compiler Data Flow and Data

Sets Used • • • • • • • • • • • • • 14 Figure 2. Logical Phases of the

Compiler and their Corresponding

Functions • • • • • • • • • • • • • 15 Figure 3. Compiler Organization and

control Flow. • • • • • • • • • • • • • 16 Figure 4. Input/Output Usage Table • • • 21 Figure 5. storage Map for the Read-In

Phase • • • • • • • • • • • • 26 Figure 6. Dictionary Entries for an

Internal Entry Point. • • • • • • • • • 29

FIGURES

Figure

7.

Organization of Read-In

Phase. w • • • • • • • • • • • • • • • 290 Figure 8. Organization of Keyword

Table. • • • • • • • • • • • • • • 291 Figure 9. Decision to Include a Second

Offset Slot • • • • • • • • • • • • • .307 Figure 10. Dimension Table • • • • • • • 316 Figure 11. Temporary Descriptions in

Pseudo-Code -- Use of TMPD Triple

Fields F5 and F6 • • • • • • • • • • • • 340 Figure 12. The IEMAF Control Section • • 356 Figure 13. Bit Identification Table • • • 357

(8)

CHARTS

Chart 00. Overall compiler Flowchart

· ..

58 Chart FX. Phase FX Overall Logic

Chart Diagram {Modules AA through AM, and AA. Resident Control Phase Logic Chart Diagram 04.

· ·

Pretranslator Logical Phase

· .. .. · · .. .. . .. ..

.113

JZ>

.. . .. · ..

'

. · · ..

.-

· .. . . '. ·

60 Flowchart

· · ..

.-

· · '. .. ·

.. 137

Chart 01. Compile-time Processor Chart GA. Phase GA Overall Logic

Logical Phase Flowchart

· ·

71 Diagram

· · · · .. · ·

.138

Chart AS. Phase AS Overall Logic Chart GK. Phase GK Overall Logic

Diagram

· · · · · · .. · · ·

72 Diagram

· · · · · · · · · .. .. · ..

.139

Chart AV. Phase AV Overall Logic Chart GP. Phase GP Overall Logic

Diagram

· · · '. · · · .. · · ·

73 Diagram

· · .. ·

.-

· · '. · ·

.140

Chart BC. Phase BC Overall Logic Chart GU. Phase GU Overall Logic

Diagram

· · · .. · .• .. · · ·

74 Diagram

· · '. · · .. · '. ·

.. 141

Chart BG. Phase BG Overall Logic Chart HF. Phase HF Overall Logic

Diagram

· · '. · · · · · ·

75 Diagram

.. · .. · .. · .. · .. .. .. · · .. ..

.. 142

Chart BM. Phase BM Overall Logic Chart HK. Phase HK Overall Logic

Diagram' •

· .. .. .. .. '. · · ·

76 Diagram

· .. · .. ..

'

. · · · ..

.143

Chart BW. Phase BW Overall Logic Chart HP. Phase HP Overall Logic

Diagram

· · · · · · · · .• · ·

77 Diagram

· · · · .. · .. · · · · · ·

.144

Chart 02. Read-In Logical Phase Chart 05. Translator Logical Phase

Diagram Flowchart

.. · · · ·

83 Flowchart

· · · .. · · · .. .•

.155

Chart BX. Phase BX Overall Logic Chart IA. Phase IA Overall Logic

Diagram .•

.• .• · · · · · · . . .

.

. ·

84 Diagram

· · · · .• .. · '. .. ..

.. 156

Chart CIa Phase CI Overall Logic Chart IG. Phase IG Overall Logic

Diagram.

.• · .. · · · · · . .. .. . ·

85 Diagram

· · · · · · · · ·

.• 157

Chart CL. Phase CL Overall Logic Chart 1M. Phase 1M Overall Logic

Diagram .•

· · .. · · · .. .. ·

86 Diagram

.. · · · .. · ·

..158

Chart CO. Phase CO Overall Logic Chart 06. Aggregates Logical Phase

Diagram

· .• · .. · · .. .. · · ·

87 Flowchart

· · .. · .. .. · · ..

.. 163

Chart CS. Phase CS Overall Logic Chart JK. Phase JK Overall Logic

Diagram

· · .. · · · · · · · ·

88 Diagram

· · · · · · · .. · · · .. · '. ·

.164

Chart CV. Phase CV Overall Logic Chart JP. Phase JP Overall Logic

Diagram

· · .• .. · · '. .. · · ·

89 Diagram

· · · .. · · .. · ·

'

.

.165

Chart 03. Dictionary Logical Phase Chart 07. Pseudo-Code Logical Phase

Flowchart

·

'

. .. · · · .. · ..

98 Flowchart

· · · · · '. '. ·

.169

Chart EG. Phase EG Overall Logic Chart LA. Phase LA Overall Logic

Diagram

· · · .. · · · .. .. ·

99 Diagram

· · · .. · · .. · · ·

.170

Chart EI. Phase EI Overall Logic Chart LB. Phase LB Overall Logic

Diagram

· · · · · · · .. '. ·

.100 Diagram

· · · · · · · · .. · · · ·

.171

Chart EL. Phase EL Overall Logic Chart LD .. Phase LD Overall Logic

Diagram

· · · · · · · .. ·

.101 Diagram

· · · .. .. '. .. .. ..

.

.

.172

Chart EP. Phase EP Overall Logic Chart LG. Phase LG Overall Logic

Diagram

· .. · · · · · .. ·

.102 Diagram

· · · · · · .. · .. ..

~173

Chart EW. Phase EW Overall Logic Chart LS. Phase LS Overall Logic

Diagram

· · '. · '. .. · .. · .• . . ..

.103 Diagram

· · · · · · · · ·

.174

Chart EY. Phase EY Overall Logic Chart LV. Phase LV Overall Logic

Diagram

· · · .. · · · .. .

' .104 Diagram

· · · · .. · · · ·

.175

Chart FA. Phase FA Overall Logic Chart LW. Phase LW Overall Logic

Diagram

· .. .• .. · · · .. · ·

• 105 Diagram ..

· · · · .. ·

.. 176

Chart FE. Phase FE Overall Logic Chart MB .• Phase MB Overall Logic

Diagram

· .. · ·

'

. · · .. · ·

.106 Diagram

.. · · · · · · .. · ·

.177

Chart Fl. Phase FI Overall Logic Chart MG. Phase MG Overall Logic

Diagram

· .. .. .. · · · .. ·

.107 Diagram

· · · .. · .. · · · · · · · .. ·

.178

Chart FK. Phase FK Overall Logic Chart MI. Phase MI Overall Logic

Diagram

· .. .. .. · .. · .. ·

.108 Diagram

.. · .. · .. · · · · · . ..

.179

Chart FO. Phase FO Overall Logic Chart MK .. Phase MK Overall Logic

Diagram

· · .. · · · · · · ·

.. 109 Diagram

.. .. · · · · · .. · .. .• .. ..

.1BO

Chart FQ. Phase -FQ Overall Logic Chart ML. Phase ML Overall Logic

Diagram

· · .. .. .. · · .. .• ·

.110 Diagram

.. · · ·

'

. · · · ·

.181

Chart FT. Phase FT Overall Logic Chart' MM. Phase MM Overall Logic

Diagram

· · · .. · · · · · ·

.111 Diagram

.. · '. .. · .. · .. · · · .. .. . ·

.182

Chart FV. Phase FV Overall Logic Chart MP. Phas.e MP Overall Logic

Diagram

· · ·

.-

.. .. · · ..

.112 Diagram

· · · · · .. · · ..

.183

(9)

Chart MS. Phase MS Overall Logic Chart PT. Phase PT Overall Logic

Diagram

· · .• .. · · · .. .• ·

.184 Diagram

· · · · · · .. · .. ..

.241

Chart NA. Phase NA Overall Logic Chart QF .• Phase QF Overall Logic

Diagram

· · · ..

,

. .. · · ,. ·

.185 Diagram

· · .•

w

· · · .. ·

.242

Chart NG. Phase NG Overall Logic Chart QJ .. Phase QJ Overall Logic

Diagram

· ,. ,. .. · .. · · · · .. · ·

.186 Diagram

· · · .. .. · · · · .. .. · ..

.243

Chart NJ. Phase NJ Overall Logic Chart 09. Register Allocation Logical

Diagram

· .. '.

w

· · '. .. ·

.187 Phase Flowchart

· .. .. · .. · . .. .

.256

Chart NM. Phase NM Overall Logic Chart RA. Phase RA Overall Logic

Diagram

· · · · · .. · .. · ·

.188 Diagram

· · · · .. · · .. · .. .. .. .. · ..

..257

Chart NT. Phase NT Overall Logic Chart RF • Phase RF Overall Logic

Diagram

· .. · .. · .. · · · · '. · ·

• 189 Diagram

· · · .. .. · .. · .. · .. '. .

.258

Chart NU. Phase NU Overall Logic Chart 10. Final Assembly Logical Phase Diagram

· · · · · · · · .. ·

.190 Flolflchart

· · .. · .. .. · '. ..

.263

Chart OR. Phase OB Overall Logic Chart TA. Phase TA Overall Logic

Diagram

· · '. · · .. · .. · ·

.191 Diagram

· · · .. .. · · · · ·

.264

Chart OE. Phase OE Overall Logic Chart TF. Phase TF Overall Logic

Diagram

· · · · · · .. .. · · . · · . ·

.192 Diagram

.. · · .. · · · ,. '. · .. · .. · ·

.265

Chart OG. Phase OG Overall Logic Chart TJ. Phase TJ Overall Logic

Diagram

· · · .. .. .. · · .. · · . ·

.193 Diagram

· · · .. · · · · .. · .. · .. · ·

.266

Chart as. Phase as Overall Logic Chart TO. Phase TO Overall Logic

Diagram

· ,. .. · · .. ,. .. ,. ·

.. 194 Diagram

· · · .. .. · .. · · ..

.. 267

Chart 08. storage Allocation Logical Chart TT. Phase TT Overall Logic

Phase F'lowchart

,. '. · .. · ·

.236 Diagram

.. · · .. · .. .. '. .. .. . · ..

.268

Chart PD. Phase PO Overall Logic Chart UA. Phase UA Overall Logic

Diagram

·

'

. .. ..

..

· '. · · · . .. ·

.237 Diagram

.. .. · .. · · .. .. ..

.• 269

Chart PH. Phase PH Overall Logic Chart UD. Phase UD Overall Logic

Diagram ..

· · .. · ,. · .. ·

.238 Diagram

.. · · .. · .. · .. .. · .. .. ..

.270

Chart PL. Phase PL Overall Logic Chart UF. Phase UF Overall Logic

Diagram

· '. .. · · · · · · ·

.239 Diagram

· · · · .. · .. · .. ..

.271

Chart PP. Phase PP Overall Logic Chart XA. Phase XA Overall Logic

Diagram

· · · .. · · · .. · ·

.240 Diagram ..

· · .. · · · · · · .. .. ..

.272

(10)

TABLES

Table AA. Module AA Compiler Control

Resident Control Phase. • • • • • 61 Tabl.e AAl. Module AA

Routine/Subroutine Directory. • • • .. .. 66 Table AB. Module AB Compiler Control

Initialization. • • • • • • • • 68 Table AB1. Module AB

Routine/Subroutine Directory. • • 69 rable AC. Module AC Compiler Control

Intermediate File Control • • • • • • • 69 rable AD. Module AD Compiler Control

Interphase Dumping. • • • • • • • 69 Table ADl. Module AD

Routine/Subroutine Directory. • 69 Table AE. Module AE Compiler Control

Clean-Up Phase. • • • • • • • • • • • • 70 Table AEl. Module AE

Routine/Subroutine Directory. • • • • • 70 Table AF. Module AF Compiler Control

Sysgen Options. • .. • .. • • • • • .. • • 70 Table AG. Module AG Compiler Control

Intermediate File Switching .. .. • .. • • 70 Table AM. Module AM Compiler Control

Phase Marking • • • .• .. • • • • • • • rable AS. Phase AS Resident Phase for

Compile-time Processing • • • • • • • 'rable AS1.. Phase AS Routine/subroutine

Directory • '. • • .. .• • • • • .. • • • rable AV Phase AV Macro Processing

Initialization. • • • • • • • • • • • rable AV1. Phase AV Routine/Subroutine Directory .. • • • .. • • • • • • • • • rable BC. Phase BC Initial Scan and

Translation • • • • • .. • • • • • .. • Table BC1. Phase BC Routine/Subroutine Directory • • • • .. • • • • • • • • • Table BG. Phase BG Final Scan and

Replacement • • • • • .. • • .. • • • • Table BG1. Phase BG Routine/subroutine

·

70

·

78

·

78

·

79

·

79

·

79

·

80

..

81 Directory • • .. • • • • • • • • • .. • • 81 rable BM. Phase BM Diagnostic Message

Determination and Printing . . . 82 Table BMl. Phase BM Routine/Subroutine.

Directory • .. • • • • • • • • .. • • • • 82 Table ··BW. Phase BW Cleanup Phase • • • • 82 Table BX. Phase BX 48-Character Set

Preprocessor. .. • • • .. • • .. • • • • .• 90 Table CA. Module CA Read-In Common

Block 1 • • • • • • • • • • • • • • • • 91 Table CAl. Module CA

Routine/Subroutine Directory. • • • • • 91 Table CC. Module CC Read-In Common

Block 2 • .. • • .. .. • • • • .. .. • • 92 Table CC1. Module CC

Routine/Subroutine Directory. • • • • • 92 Table CEo Modules CE, CK, CN, and CR

Read-In Keyword Block .. • .. • • • • • • 92 Table CI. Phase CI Read-In First" Pass • • 93 Table Cl1. Phase CI Routine/Subroutine

Directory _ • • • • • • • .. • • • • • • 93 Table CL. Phase CL Read-In Second Pass • 94

Table CL1. Phase CL Routine/Subroutine Directory • • .. • • • • • • • • • • • • 94 Table

co.

Phase CO Read-In Third Pass ... 95 Table COl. Phase CO Routine/Subroutine

Directory • • • .. .. .. • • • • • .. • • • 95 Table CS. Phase CS Read-In Fourth Pass • 96 Table CS1. Phase CS routine/Subroutine

Directory • • • • .. • .. • • • .. • .. • • 96 Table CV .• Phase CV Read-tn Fifth Pass,. • 97 Table CV1. phase CV Routine/Subroutine

Directory • • • • • • • .. • • • • • • .. 97 Table EG. Phase EG Dictionary

Initialization . . . 114 Table EG1. Phase EG Routine/Subroutine

Directory . . . 114 Table EI.. Phase EI Dictionary Declare

Pass One. • . . . 115 Table Ell. Phase EI Routine/Subroutine

Directory . . . 115 Table EL. Phase EL Dictionary Declare

Pass Two. .. . . . 117 Table ELl. Phase EL Routine/Subroutine

Directory

· · · .. · · .. · · · · · · ·

.118

Table EP. Phase EP Dictionary Entry

III and Call.

· · · .. · · · · · .. · ·

.120

Table EP1. Phase EP Routine/Subroutine Directory

· · ,. .. · · · · · · '. .. · .•

.121

Table EW. Phase EW Dictionary LIKE

· ·

.122

Table EW1. Phase EW Routine/Subroutine Directory

· · · · · · · .. · .. · .. · ..

.122

Table EY. Phase EY Dictionary ALLOCATE .• 123 Table EY1. Phase EY Routine/Subroutine

Directory

· .. · · · · · .. . · · · .. ..

.123

Table FA. Phase FA Dictionary Context. .123 Table FA1. Phase FA Routine/Subroutine

Directory

· · .. · .. .. · · · · · · .. ..

.124

Table FE. Phase FE Dictionary BCD to

Dictionary Reference.

· .. · .. · · · ·

.125

Table FE1. Phase FE Routine/Subroutine Directory . . . 126 Table Fl. Phase FI Dictionary Checking .126 Table Fl1. Phase FI Routine/Subroutine

Directory . . . 127 Table FK. Phase FK Dictionary

Attribute • • • • • • • • • • • .128 Table FK1. Phase FK Routine/Subroutine

Directory . . . 128 Table FO. Phase FO Dictionary ON . . . 129 Table F01. Phase FO Routine/Subroutine

Directory . . . 129 Table FQ. Phase FQ Dictionary Picture

Processor • • • • • • • .. • • .. ..130 Table FQ1. Phase FQ Routine/Subroutine

Directory . . . 131 Table FT. Phase FT Dictionary Scan . . . . 132 Table FT1. Phase FT Routine/Subroutine

Directory . . . 133 Table FV. Phase FV Dictionary Second

File Merge • • • • • • • • • • • • • • • 134 Table FV1. Phase FV Routine/Subroutine

Directory • • • • • • • • • • • • • • • 134

(11)

Table FX. Phase FX Dictionary

Attributes and Cross Reference. .135 Table FX1. Phase FX Routine/Subroutine

Directory • • • • • • • • • • • • • • • 136 Table GA. Phase GA Pretranslator I/O

Modification. • • • • • • • • • • • • .145 Table GAl. Phase GA Routine/Subroutine

Directory • • • • • • • • • • • • • • • 145 Table GK. Phase GK Pretranslator

Parameter Matching 1. '. • • • • • • • .146 Table GK1. Phase GK Routine/Subroutine

Directory • • • • • • • • • • • • • • .146 Table GP. Phase GP Pretranslator

Parameter Matching 2. • .' • • • • • • .147 Table GP1. Phase GP Routine/Subroutine

Directory • • • • • • • • • • • • • • • 148 Table GU. Phase GU Pretranslator Check

List. .. .•• . • • .

I. • '. • • • • .. •

.149

Table GU1. Phase GU Routine/Subroutine Directory • • • • • • • • • • • • • • • 150 Table HF. Phase HF Pretranslator

Structure Assignment • • • • • • • • • • 151 Table HF1. Phase HF Routine/Subroutine

Directory • • • • • • • • • • • • • • • 152 Table HK. Pretranslator Array

Assignment. • • • • • • • • • • • • • .153 Table HK1. Phase HK Routine/Subroutine

Directory • • • • • • • • • • • • • • • 153 Table HP. Phase HP Pretranslator isub

Defining • • • • • • • • • • • • • • • • 154 Table HP1. Phase HP Routine/Subroutine

Directory • • • • _ • • • • • • • • • • 154 Table IA. Phase IA Translator Stacker • • 159 Table'IA1. Phase IA Routine/Subroutine

Directory • • • • • • • • • • • • • • • 159 Table IG. Phase IG Translator

Pre-Generic • • • • • • • • .• • • • • .160 rable IG1. Phase IG Routine/Subroutine

Directory. • • • • • • • • • • • .160 rable IL. Phase IL Translator

Pre-Generic • • • • • • • • • .161 rable 1M. Phase 1M Translator Generic • • 161 Table IM1. Phase 1M Routine/Subroutine

Directory • • • • • • • • • • • • • • • 162 Table JK. Phase JK Aggregates

Structure Processor • • • • • • • • • • 166 Table JK1. Phase JK Routine/Subroutine

Directory • • • • _ • • • • • • • • • • 167 Table JP. Phase JP Translator Defined

Check. • • • • • • • • • • • • • 168 rable JP1. Phase JP Routine/Subroutine

Directory • • • _ • • • • _ • • • • • .168 Table JZ. Module JZ Compiler Control • • 168 rable LA. Phase LA Pseudo-Code Scan • • • 195 rable LA1. Phase LA Routine/Subroutine

Directory • • • • • • • • • • • • • • • 196 Table LB. Phase LB Pseudo-Code Initial .197 Table LB1. Phase LB Routine/Subroutine

Directory • • • • • • • • • • • • • • • 197 Table LD. Phase LD Pseudo-Code Initial .198 rable LD1. Phase LD Routine/Subroutine

Directory • • • • • • • • • • • • • • • 198 Table LG. Phase LG Pseudo-Code DO

~xpansion • • • • • _ • • • • • • • • • 199 Table LG1. Phase LG Routine/Subroutine

Directory. • • • • • • • • • .200 Table LS. Phase LS Pseudo-Code

Expression Evaluation • • • • • • • • • 201

Table LS1. Phase LS Routine/Subroutine Directory • • • • • • • • • • • • • • • 202 Table LV. Phase LV Pseudo-Code String

Utilities • • • • • • • • • • • • 203 Table LV1. Phase LV Routine/subroutine

Directory • • • • • • • • • • • • • • • 203 Table LW. Phase LW Pseudo-code String

Handling • • • • • • • • • • • • • • • • 204 Table LW1. Phase LW Routine/Subroutine

Directory • • • • • • • • • • • • • • • 205 Table ME. Phase ME Pseudo-code

Pseudo-Variables • • • • • • • • • • • • 206 Table MEl. Phase ME Routine/Subroutine

Directory • • • • • • • • • • • • • • • 207 Table MG.. Phas e MG Pseudo-Code' In- Line

Functions 1 • • • • • • • • • • • • • • 208 Table MG1. Phase MG Routine/Subroutine

Directory • • • • • • • • • • • • • • • 208 Table MI .• Phase MI Pseudo-Code In-Line

Functions 2 • _ • • • • • • • • • • • • 211 Table MIl. Phase MI Routine/Subroutine

Directory • • • • _ • • • • • • • • • • 211 Table MK. Phase MK Pseudo-Code In-Line

Functions 3 • • • _ • • _ • • • • • • • 212 Table MK1. Phase MK Routine/subroutine

Directory • • • • • • • • _ • • • • • .212 Table ML. Phase ML pseudo-Code Calls

and Functions • • • • • • • • • • • • • 213 Table ML1. Phase ML Routine/Subroutine

Directory • • • _ • • • • • _ • • _ • • 213 Table MM. Phase MM Pseudo-Code Calls

and Functions • • • • • • • • • • • • • 213 Table MM1. Phase MM Routine/Subroutine

Directory • • • • • • • _ • • .214 Table MP. Phase MP Pseudo-Code BUY

Reorder • • • • • • • • • • _.215 Table MPl. Phase MP Routine/Subroutine

Directory • • • • • • • • • • • • • • • 215 Table MS. Phase MS Pseudo-Code

Subscripts. • • • • • • • • • • • • • .216 Table MS1. Phase MS Routine/Subroutine

Directory • • _ • • • • • • • • • • • • 216 Table NA. Phase NA Pseudo-Code

Branches. ON, Returns • • • • • • • _ .217 Table NA1. Phase NA Routine/Subroutine

Directory • • • • • • • • • • • • • • • 217 Table NG. Phase NG Pseudo-Code

operating System Services • • • • • • • 219 Table NG1. Phase NG Routine/Subroutine

Directory • • • • • • • • • • • • • _ .219 Table NJ. Phase NJ pseudo-Code RECORD

I/O • • • • • • • • • • • • • • • 220 Table NJ1. Phase NJ Routine/Subroutine

Directory. • • • • • • • • • • • • 223 Table NM. Phase NM Pseudo-Code

Executable 1/0. • • • • • • • • • • • .225 Table NMl. Phase NM Routine/Subroutine

Directory • • • • • • • • • • • • • • • 225 Table NT. Phase NT Pseudo-Code Data

and Format. • • • • • • • • • _ • • • .226 Table NT1. Phase NT Routine/Subroutine

Directory • • • • • • • • • • • • • • • 226 Table NU. Phase NU Pseudo-Code Data

and Format • • • • • • • • • • _ • • • • 227 Table NU!.. Phase NU Routine/subroutine

Directory • • • • • • • • • • • • .227 Table OB. Phase OB Pseudo-Code

Compiler Functions • • • • • • • • • • • 229

(12)

Table OB1. Phase OB Routine/Subroutine Directory • • • • • • • • • • • • .• 230 Table OE. Phase OE Pseudo-Code

Assignment. • • • • • • • • • • • .231 Table OE1. Phase OE Routine/Subroutine

Directory • • • • • • • • • • • • • • • 231 Table OG. Phase OG Library Calling

Sequences • • • • • • • • • • • • • • • 232 Table OG1.. Phase OG Routine/Subroutine

Directory. • • • • • • • • • • • • 233 Table OS. Phase OS Constant

Conversions • • • • • • • • • .234 Table OSl. Phase OS Routine/Subroutine

Directory • • • • • • • • • • • • • • • 234 Table PD. phase PD Storage Allocation

Static 1. • • • • • • • • • • • • 244 Table PD1. Phase PD Routine/Subroutine

Directory • • • • • • • • • • • • • • • 244 Table PH. Phase PH Storage Allocation

Static 2. • • • • • _ • • • • • • 245 Table PH1. Phase PH Routine/Subroutine

Directory.. • • •.• • • • • • • '. • .246 Table PL. Phase PL Storage Allocation

Symbol Table and DEDs • • • • • • • • • 247 Table PL1. Phase PL Routine/subroutine

Directory • • • • • _ • • • • • • • • • 247 Table PP. Phase PP Storage Allocation

Sort of AUTOMATIC Chain • • • • • • • • 248 Table PP1. Phase PP Routine/Subroutine

Directory • • • • • • • • • • • • • • • 249 Table PT. Phase PT Storage Allocation

AUTOMATIC Storage • • • • • • • • • • • 250 Table PT1. Phase PT Routine/Subroutine

Directory • • • • • • • • _ • • • • • • 251 Table QF. Phase QF Storage Allocation

Prologues • • • • • • • • • • • • • • • 252 rable QF1. Phase QF Routine/Subroutine

Directory • • • • • • • • • _ • • • • • 253 rable QJ. Phase QJ storage Allocation

Dynamic Storage • • • • • • • • • • • • 254 Table QJ1. Phase QJ Routine/Subroutine

Directory • • • • • • • • • • • • • • • 255 Table RA. Phase RA Register Allocation

Addressibility Analysis • • • • • • • • 259

Table RAl. Phase RA Routine/Subroutine Directory . • • • • • • • • • • • • • • 260 Table RF. Phase RF Register Allocation

Physical Registers • • • • • • • • • • • 261 Table RFl. Phase RF Routine/Subroutine

Directory. • • • • • • • • • • • 261 Table TA. Phase TA Final Assembly

DCLCB Generation. • • • • • • • • .273 Table TAl .• Phase TA Routine/Subroutine

Directory. • • • • • • • • • • • 273 Table TF. Phase TF Final Assembly Pass

1 _ • • • • • • • • • • • • • • • 27~

Table TF1. Phase TF Routine/Subroutine Directory • • • • • • • • • • • • 274 Table TJ. Phase TJ Final Assembly

Optimization. • • • • • • • • • • • .• .275 Table TJ1. Phase TJ Routine/Subroutine

Directory • • • • • • • • • " • • • • • • 275 Table TO.. Phas e TO Final Assembly

External Symbol Dictionary • • • • • • • 276 Table T01. Phase TO Routine/Subroutine

Directory. • • • • • • • • • • • 276 Table TT. Phase TT Final Assembly Pass

2 • • • • • • • • • • • • • • • • • • • 277 Table TTl. Phase TT Routine/Subroutine

Directory • • • • • • • • • • • • • • • 278 Table UA. Phase UA Final Assembly

Initial Values. Pass 1 • • • • • • • • • 279 Table UA1. Phase UA Routine/Subroutine

Directory • • • • • • __ • • • • • • • 280 Table UD. Phase UD Final Assembly

Initial Values, Pass 2 • • • • • • • • • 281 Table UD1. Phase DD Routine/Subroutine

Directory • • • • • • • • • .282 Table UF. Phase UF Final Assembly

Object Listing • • • • • • • • • • • • • 283 Table UF1. Phase UF Routine/Subroutine

Directory. • • • ~ • • • • .284 Table XA. Phase XA Error Message

Editor. • • • • • • • • • • • • • 286 Table XA1. Phase XA Routine/Subroutine

directory • • • • • • • • • • • • • • • 286

(13)

PURPOSE OF THE COMPILER

The Operating System/360 PL/I (F) Com- piler analyzes and processes source pro- grams written in PL/I, and translates them into object programs in load module form suitable for input to the Linkage Editor.

When errors are detected in the source

program~ appropriate diagnostic messages are produced. The compiler functions with- in Operating System/360 and may be used on machines where at least 45,056 (44K) bytes of core storage are available for the compilation (exclusive of storage require- ments for the Operating System).

rHE COMPILER AND OPERATING SYSTEM/360

The PL/I (F) compiler is a processing program of Operating System/360. The com- piler consists of a number of phases under the supervision of compiler control rou- tines. The compiler communicates with the control program of the Operating System, for input/output and other services"

through.the control routines.

A compilation is introduced as a jOb step under the control of the Operating System, via the JOB statement. the execute (EXEC) statement, and the data definition (DO) statements of the Job Control Lan- guage, for the input/output data sets.

cataloged procedures are provided to keep these statements to a minimum. A discus- sion of the introduction of a compilation as a job step, and of the available catal- oged procedures, is given in the publica- tion IBM System/360 Operating System, PL/I iF} prQgrammer's Guide, Form C28-6594.

The source program to be compiled appears as input to the' compiler on the SYSIN data set. The compiler uses SYSUT1

(required if the main storage is insuffi- cient to contain the program) and SYSUr3

(required if the 48-character set or the compile-time processor is used) as work data sets. The SYSPUNCH, SYSPRINT, and SYSLIN data sets are used, depending on the options specified by the source programmer, to contain the output from the compiler.

The overall data flow associated with a compilation, and the data sets used in the compilation. are illustrated in Figure 1.

A compilation is initiated by loading the compiler control routines from the Link Library. The compiler control routines then carry out their own initialization, including loading those compiler control routines which remain in storage throughout the compilation. These routines perform the following functions:

1. Act as the interface between the com- piler phase' and the Operating System.

controlling all input/output. storage allocation. program interruptions, storage dumping, etc.

2. supervise the loading of compiler phases in accordance with source pro- gram options and information obtained from the source program by the compil- er phases.

3. Supervise all workspace used by the compiler for information concerning the source program. rhis includes any spilling from main storage to backing storage in order to accommodate large source programs, the conversion of symbolic references to absolute addresses, and the conversion from absolute addresses to symbolic ref- erences.

4. Provide a number of routines to assist in compiler debugging.

The compiler options specified are interpreted and the appropriate action taken.. The environmental options. such as storage size and device type, are used to calculate the text and dictionary block size and the "spill" point (i.e. the point at which the main storage available is insufficient to contain the dictionary and text).

To determine the block size a table contained in Phase AB is used. The storage size is used as the argument to search the table. When the correct entry is found, the text block size and the dictionary block s~ze values are extracted and used for the compilation.

The options are instructions to the compiler. Some of these require a phase to be loaded that wbuld not otherwise be loaded. When an option of this type is found" a request for the phase required is inserted into the status byte in the phase directory. Other options are in the form of instructions to a phase that is always loaded. These instructions are also placed

Section 1 (Introduction): The Compiler and Operating System/360 13

(14)

r---l

I source I

I I

I program I

I ,

I (SYSIN) I

I I

L---T---J

I I

I

r---,

I Compiler V I

I I

I (SYSUT1 and SYSUT3 I

lare used as work data sets I I when required) I

L---T---J

I I

V I

r---T---T---T---T---T---~---T---1

SOURCE XREF LIST DECK LOAD

option option option option option

I I I I I

I I I I I

I I I I I

I I I -I I

V V V V V

r---, r---, r---, r---, r---,

I Source I I List of I I List of I I ESD, TXT, I I ESD., TXT .. I

I I I identifiers., I I object code' I I

,

I

I program I

,

I I produced

,

I RLD, and ENDI

,

RLD, and ENOl

I I I list of I I by the I I I I I

I listing I I statement I I compiler I I car1 images I

,

card images

,

I

L _____________

J

,

I

L _____________

numbers J I I

L _____________

J

,

I l _____________ J

,

l _____________ I J

,

SYSPRINT SYSPRINT SYSPRINT SYSPUNCH SYSLIN

EXTREF ATR for all SOURCE2

option

, ,

option I

,

compilations I

,

option

,

I

I I I I

V V V V

r---, r---, r---, r---,

I External I I List of I

,

I I I

I I I identif iers, I I Diagnostic I I Listing of I I Symbol I I list of

,

I I I input to the I

I I I attributes I I I I compile-time I

I Dictionary

t

I assumed by I I Messages I I processor I

I I I identifiers I I I I I

L _____________ J L _____________

J

L _____________

J

L _____________

J

SYSPRINT SYSPRINT SYSPRINT SYSPRINT

Figure 1. Compiler Data Flow and Data Sets Used

Références

Documents relatifs

To list the data describing the system, load the operating system, and place the following control deck in the input device.. Enter a START command with no

This section contains two examples of initialization of system data sets. The numbers chosen for space allocation in these two examples are for illustrative

The EXEC statement is followed by the DD statements that define the data sets required by the job

decla~ed in the ENVIRONMENT attribute. ~rhis control block is. generated during program execution when a file is opened. Dynamic allocation of the FCB storage is

• Order Entry. Although the program is primarily oriented toward providing maximum 1231 N1 performance, it also provides read/write and control capabilities for

Precise results are obtained from all fixed-point modules except complex civision and complex ABS, where small truncation errors inevitably occnr, and the ADD

%ACTIVATE and %DEACTIVATE statements. The NORESCAN option enables the programmer to specify that an activated preprocessor character-string variable or entry

An ASSGN control statement must be present in the job deck for each data file assigned to an external storage device in the COBOL program where these