Documente Academic
Documente Profesional
Documente Cultură
S360-29
Form Y28-6800-3
Program Logic
Restricted :Oistribution
Forw
I
Although not prerequisite, the following
Ipublications are related to this manual and
\should be consulted.
Introduction to
ForJTl Y28-6605
~~~al,
~~~!_Ref~ren~~~~~!,
IBM
Form C28-8201
Sy~!em/3~Qper~!~ng~y~~em:
Fourth Edition
('~arch
1968)
CONTENTS
SECTION 1: INTRODUC?ION.
Purpose of the Compiler.
15
. 15
. 15
Compiler Organization. . . . . . 17
Logical Phases. . . . .
19
Compile-time Processor Phase .
19
Read-In Phase. . .
19
Dictionary Phase .
19
Pretranslator Phase. .
19
Translator Phase . .
19
Aggregates Phase . .
19
Pseudo-Code Phase. . .
. 19
Storage Allocation Phase
19
Register Allocation Phase.
20
Final Assembly Phase .
20
Error Editor Phase
20
SECTION 2: COMPILER PHASES .
21
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 AH.
Modules AI, AJ
.
Module AK.
.
Module AL.
Module AM.
. .
Module AN.
Module JZ.
48-Character Set Preprocessor
21
~1
21
21
21
21
22
22
22
22
22
22
22
22
24
24
25
25
25
25
25
25
26
26
26
26
26
26
26
27
27
27
. 27
27
28
28
. 28
Phase BW . . .
28
28
29
29
29
29
30
30
30
30
30
30
30
31
31
31
31
34
Phase EL (EK, EM).
34
Phase EP
35
Phase EW
36
Phase EY .
36
Phase FA . 36
Phase FE
37
Phase FI .
37
Phase FK .
37
Phase FO
37
Phase FQ
38
Phase FT .
38
Phase FV
39
Phase FX
39
The Pretranslator Logical Phase.
Phase GA . .
Phase GB (GC).
.
Phase GK .
Phase GO
Phase GP
Phase GU
Phase HF
Phase HK .
. .
Phase HP
40
40
41
41
41
41
41
42
42
43
43
The Translator
Phase IA
Phase IG
Phase IL
43
44
44
44
Logical Phase
.
.
Phase
Phase
Phase
Phase
1M
IT
IX
JD
The Storage
Phase
Phase
Phase
Phase
Phase
Phase
Phase
Phase
Phase
45
45
45
46
44
45
45
45
46
47
47
47
47
47
47
48
48
48
48
48
49
49
49
49
50
50
50
50
51
51
51
51
51
52
52
52
53
54
54
55
55
55
55
56
56
56
56
57
57
57
57
58
59
59
59
60
61
61
61
62
The
62
62
.. .
Final Assembly Logical Phase
Phase TF
. . .
PhasE
PhasE
Phase
Phase
Phase
Phase
Phase
TJ
TO (T~)
TT
UA
.
UD
UE
UF (UB)
.335
.339
.341
64
64
66
b4
64
62
63
63
63
64
Phase Directory.
Control Code Word -- CCCODE.
.341
. 342
.342
.342
.342
.343
.343
.345
.345
.347
.347
.349
.349
.350
.350
.351
.351.
.351.
.351.
.351.
.352
..
.352
.352
35~~
.353
.355
.355
.35!)
.356
.356
.357
.357
.368
.369
. 369
.381
4. Format of Triples .
.383
.386
. 386
. 387
.388
.388
388
. 388
.388
.389
.390
.390
.390
.390
.390
.390
Array Bounds
Multiplier Function.
.390
.390
.391
.391
.392
.392
.405
APPENDIX
F:
COMMUNICATIONS
REGION 407
Transfer
Vectors. . .
407
communications
Region
.408
.414
.416
.416
DSA optimization
.4201
.422:
.392
.395
. .434
.437
APPENDIX
INDEX. .
.43B
E:
STORAGE
REQUIREMENTS 405
FIGURES
.341
.342
.359
.369
.394
414
415
TABLES
CHARTS
.210
.211
.212
.213
.214
.215
.216
.217
.218
.219
.220
.221
.222
.223
.224
.225
.226
.227
.228
.229
.230
.279
.280
.281
.282
.283
.284
.285
.286
.287
.288
.289
.304
.305
.306
.311
.312
.313
.314
.315
.316
.317
.318
.319
.320
Act as the interface between the compiler 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 program options and inforrration obtained
from the source program by the compiler phases.
3.
4.
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 tc search the
table.
When the correct entry is found,
the text tlock size and the dictionary
block size 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 would 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
15
r-------------,
I
I
I
I
I
I
I
I
I
I
I
I
Source
program
(SYSIN)
L------T------J
I
I
,
V
r---------------------------,
compiler
,
,
(SYSUT1 and SYSUT3
,
lare used as work data sets I
I
when required)
,
L-------------T-------------J
I
r--------T--------T--------T-------T---------T--------T-------T--------,
SOURCE
XREF
LIST
DECK/MACDCK
LOAD
option
opticn
I
I
I
,
I,
I,
program
I,
listing
I
I
I
I
I,
L_____________ J
list of
stateroent
numbers
r-------------,
r-------------,
ESD,TXT,RLD ,
ESD, 'TXT,
I,
object codel
produced
I
by the
compiler
I
I,
RLD, END,
I and NAME
I (if OBJNM
I specified),
I
IL _____________ JI
,
,
SYSPUNCH
SYSPRINT
SYSLIN
for all
compilations
SOURCE2
option
,I
I
I
I
I,
I
I
I
,r-------------,,
External
Symbol
,
I,
I Dictionary
I _____________ JI
L
SYSPRINT
r-------------,,
I List of
I identifiers, I
I
I list of
I attributes I
I assumed by I
identifiers JI
IL _____________
,
V
r-------------,, ,r-------------,
I List of
I
compiler
I options usedl
I and
I
I, Diagnostic I
Messages
L _____________ JI
SYSPRINT
SYSPRINT
I
I
I
I
IL_____________ JI
L_____________
ATR
option
16
I
I
I
I
EXT REF
option
.Figure 1.
,I
,I
SYSFRINT
SYSPRINT
identif iers, ,
option
,
,
,
I
r-------------,
List of
,
,
,
,
,L_____________ J,
I,
options
,
I
I
I
,r-------------,
List of
r-------------,
Source
I
I
option
,
I
I
I
,Listing of
I
I input to the I
,
Icompile-tirre
'processor
I
L _____________ J
SYSPRINT
r-------------T---------------------------,
ILogical Phasel
Main Functions
I
The compiler phases and their corresponding functions are indicated in Figure
2,
and the organization of the compiler is
shown in Figure 3.
Icompile-time
I Processor
I
I
IRead-In
I
I
phases
is
1:Q~.t.~.t __ ~!:.!:i:n.9..!.
1:Q._Gicti2n~~~
~-------------+---------------------------~
IExecutes compile-time
I
I statements
and
produces I
linput for further compiler I
Iprocessing.
I
t-------------+---------------------------~
ICheck source
Itax;
remove
Icharacters.
syn-I
superfluous I
I
~rogram
t-------------+---------------------------~
IDictionary
t
I
I
I
I attribute
~-------------+---------------------------~
IPretranslatorlRearrange 1/0 statements; I
IAggregates
I
I
IMap all
structures
andl
larrays to align elements onl
Icorrect storage boundaries. I
~-------------+---------------------------~
I Pseudo-code
I
Iconvert
I code.
triples to pseudo-I
I
t-------------+---------------------------~
I Storage
I allocation
I
~-------------+~--------------------------i
IRegister
I allocation
I
I
t-------------+---------------------------~
IFinal
I assembly
I
I
~-------------+---------------------------~
IError
IPrints out any necessary
I
messages.
lIEditor
_____________ Idiagnostic
___________________________
JI
~
Figure 2.
section 1 (Introduction):
Compiler Organization
17
r-------------------------------------------,
r-----------,I
1 OS/360
I CONTROL
I PROGRAM
I
I
PL/I (F)
COMPIL~g
L---T-------J
1
V
1
I
r-------.1. ---,1
1 COMPILER
1 CONTROL
I ROUTINES
1-------,
I
L---T-------J
I
I
I
I
1\
I
I
I
I
r-----------,
I SYSTEM
I
r-------.1.---,1
I
\ ___________
RESIDENCE J\
L
I\ COMPILER
\<--+-------------->1
I
1I
I PROCESSING I
r-----~
r-----------,
1
1---,
I
I
1 PHASES
I
I
1
L ___________ J
I
I
\
1
I
I
I SOURCE
I
IL___________ JI
I
VI
I
I
V
1\
r-----------,
TEXT
I DICTIONARY I
I I
BLOCKS
Ir---------+-->I
I
L ___________
JI
1L ___________
BLOCKS
JI
r-----------,
OBJECT
I1
1\
1\
1I
1I
1L_________ +
1_______________________ +
I _________ J
r-----------,I
1 SPILL
I
STORAGE JI
IL___________
Figure 3.
L___________ J
18
r-----------,
r-----------,I
1 SPILL
\
STORAGE
L ___________
J
------>
CPU Control
------
Read/Write Communication
<----->
L.OGICAL PHASES
The logical phases of the compiler and
their main functions are su~marized in the
following paragraphs.
Compile-time Processor
The Translator Phase converts the original PL/I syntactic form to an internal
syntactic form, referred to as "triples."
Triples consist of the original source
program operators and o~erands, but rearranged so that the operat.ions specified in
the source string may be carried out in
their proper order.
Ph~~
Dictionary Phase
The Dictionary Phase removes all BCD
identifiers and attribute declarations from
the source string, and replaces them by
symbolic references to dictionary entries.
The dictionary entries contain all the
consistent declared attributes, and all the
attributes specified in the language in
default of source program specifications.
Error messages are generated for all inconsistent attributes.
The Pseudo-Code Phase converts the triples to a form closely resembling machine
instructions, in which registers are represented symbolically, and storage locations are represented by dictionary references with offsets.
The final pseudocode version of the text also contains a
number of special pseudo-code items for the
guidance of later phasesc
Pretranslator Phase
The Pretranslator Phase processes those
features of the language that are more
easily processed in their original PL/I
form, than when the original syntactic form
has been lost in later phases. The Pretranslator carries out these modifications
which include the rearranging of the order
of certain I/O statements, the creation of
temporary variables for procedure arguments
which are expressions, the conversion of
array and structure assignments to a series
of 'DO' loops surrounding scalar assignments, and the removal of iSUB expressions.
Section 1 (Introduction):
Compiler Organization
19
20
constant data required for block initialization. ESD and RLD cards are produced to
enable the object program to be edited by
the Operating System/360 Linkage Editor.
The Final Assembly Phase also produces a
listing of the object code produced.
Note:
For description~i of terms and abbreviations used in the text during a compilation
which are mentioned in t~his section of the Program Logic Manual, refer to ~EE~9ix_QL_!!.
Loads phase AN to handle a normal dictionary, or phase AL if an extended
dictionary is requested.
On return from module AB, the first compiler phase is loaded and entered.
COMPILER CONTROL
when the PL/I (F) Compiler is invoked by
the
calling
program
(e.g.,
the Job
Scheduler) of the Operating ,System, the
Compiler Control module IEMAA is loaded and
entered.
IEMAA is resident during the
whole compilation; it controls the following functions:
Initialization
Character translation
Text and dictionary block control
Scratch storage control
Phase loading
Diagnostic message control
Input/output control
Program check handling
Job termination
Cons~ructs
current
21
Scratch storage
Con!~21
main
storage
Print buffers
Compiler control routines
Dictionary area
Opera~i~g_y~!~mL_~2~~~21_g~29~~m_Ser~i~,
Text area
cf
the
phase
Input/Output buffers
Input/Output routines (QSAM)
The main storage required by each phase
of the compiler need be contiguous only for
each control section.
During the read-in phases a minimum of
two dictionary blocks and two text blocks
are available in storage simultaneously.
Diagnostic message
control
routines
cause diagnostic messages to be placed in a
chain in the dictionary.
shows
details
of
storage
The compiler
follows:
completion
codes
are
as
Warning messages
compiled
issued;
Sect~ion
12
16
program
23
r-----------T---------T---------T---------T-----------T-----------T----------T----------,
Data set
SYSIN
SYSLIB
SYSLIN
SYSPRINT
SYSPUNCH
SYSUTl
SYSUT3
~-----------+---------+---------+---------+-----------+-----------+----------+----------1
Module
--AA1
AB
WRITE
OPEN
I
I
I
I
OPEN3
OPEN/WRITE
OPEN6
OPEN3
ACl
AE1
OPEN
OPEN
OPEN
AG
BX
READ
CI
READ
READ
WRITE
READ/WRITE WRITE/READ
WRITE
READ
FY
WRITE
UA
WRITE
I
I
I
I
I
OPEN
I
I WRITE/READ
I
I
I
I CLOSE/OPEN
I
I
I
WRITE
I
I
I:
UD
WRITE
I,
UF
WRITE
XB
WRITE
Ii
I,
AE
CLOSE
CLOSE
~
II
AK4
CLOSE
CLOSE
AK5
CLOSE
CLOSE
CLOSE
CLOSE
!I
il
.-----------~---------~---------~--------- -----------~-----------~----------~----------i
1AA, AC, and AE are modules of the control phase, and contain actual I/O routines which~
interface with the O/S access methods (BSAM,QSAM). I/O activity shown for other
I
modules indicates that these modules are utilizing the I/O routines.
I
2AS may read from included data sets in addition to those shown in the table.
3If the SIZE option results in lK text and dictionary blocks, SYSUTl is opened by
Module AB. In the case of other SIZE options, SYSUTl is opened by Module AA when the
available main storage is full. The timing depends on the si?e of program to be
compiled.
4AK closes only the spill file SYSUTl when the batch option is used and a further
source program is to be compiled.
5AK closes all other files upon termination of a single or batch compiler run.
6SYSPUNCH is opened if MACDCK option specified.
_______________________________________________________________________________________
.
Figure 4.
24
IExample of an
loption:
Module
EXEC
card
using
the
DUMP
2.
Module AF
Module AF is a control section consisting of a table containing the compiler
options which may be used during a compilation.
The table is constructed at system
generation time. The control section is
brought into storage by the initialization
Module AB at compilation time. A description of the use of Module AF is given in
Appendix G.
and
of
of
of
to
CLOSE
alter macro-type in data control
(DCB)
block
OPEN(INPUT)
switch routine ZURD to point at SYSUT3
DCB
The
dump
will appear on SYSPRINT,
inserted into the normal compiler output.
If AREA is omitted the default taken is
DTSP.
If a program check occurs and DUMP
has been specified then AREA will be given
the default DTSPC.
Use of the DUMP option may cause the
compiler to use more core than the SIZE
option specifies.
This is because SIZE
specifies the amount of core the compiler
can use for normal compilation and does not
allow for the internal compiler diagnostic
dumps.
25
with
an
I~odule_~~
I
This module contains the routines for
I dictionary and text-block handling for the
Inormal-sized dictionary.
Module JZ
Module AI is called if E is specified
in the AREA field of the DUMP option. It
provides an 'easy-to-read' text print in
which the triples and pseudo-code items
comprising the text are printed separately.
This option is available between
phases IA and OG inclusive.
Module AK
Module AK is the closing routine of
the compiler. Its function is to release
core used for dictionary, text blocks,
scratch storage, and completed phases.
If batch compilation is not specified,
module AK closes all the files used by
the compiler. If a batch compilation is
specified, a check is made to determine
whether any source programs are still to
be compiled. Where there are none module
AK closes all files. Where one or more
programs remain to be compiled, the spill
file only is closed, the batch delimiter
card is scanned for syntax errors, and
control is returned to module AA.
Module AL
This module contains the control routines for dictionary and text-block handling for the extended dictionary.
Module AM
Module AM marks phases as either wanted
or not wanted, depending upon the compiler
invocation options. Phases that are always
loaded are marked wanted.
AM is the first compiler phase loaded
after compiler initialization.
It tests
the relevant bits in CCCODE and marks the
phases accordingly.
26
original.
The preprocessor uses Compiler Control
routine ZURD to obtain input, and routine
ZUBW to place its output onto backing
s'torage.
Note: If the MACRO option is specified, all
the processing described above is
done by the compile-time processor,
and phase BX is bypassed.
IPhase BC
(~~fl
tE~xt
Line Numbering
As the input is being processed a unique
line number is assigned to every logical
record processed.
If a listing of the
input is requested, these line numbers are
written out beside the appropriate line.
The line numbers are also encoded and
inserted into the text so that diagnostics
can be keyed to them. These line numbers
are also output on SYSUT3, to aid the user
in determining from which input line a
particular line of output came.
Section 2 (Compiler Phases):
27
I Phase BG
(BI~
To provide rapid
scanning
in
the
dictionary phases, the following chains are
constructed by the Read-In Phase:
The CALL chain
The PROCEDURE-ENTRY-BEGIN chain
The DECLARE chain
The ALLOCATE chain
Phases):
29
Bytes
o
The output string is so arranged that a
complete statement never spans
storage
blocks.
One of the conditions of a successful compilation is that the output
resulting from any statement must
not
exceed the block.
This restriction, however,
does not apply to DECLARE statements.
Formats of the statements appearing in the
output string are given in Appendix D.2.
4K
7K
8K
12K
16K
r----------------------------------,
CA
I
~----------------------------------i
cc
~------T------T------T------T------i
CE
CK
CN
CR
CR
~------+------+------+------+------i
CG
CL
CO
CS
CV
~------+------+------+------+------i
IL ______
CI
I ______
CM
I ______
CP
I ______
CT
I ______
CW JI
~
Identifiers
All identifiers which are not recognized
as keywords in the source text appear in
the output string.
The Read-In Phase consists of five phases or passes, each containing at most five
modules.
Modules CA and CC consist of
common routines which are invoked throughout the phase by each of the passes, in
turn.
Modules CE, CK, CN, and CR contain
separate keyword tables.
Details of the
organization of these tables are given in
Appendix B.
Control for each pass resides
in modules CI , CL, CO, CS, and CV respectively.
The following description refers
to the phases by these names.
Constants
All
string.
constants
appear
in
the
output
Operators
All
string.
operators
appear
in
the
output
During phase CI
(the first physical
phase of the Read-In Phase) the source text
is read into storage, and character codes
are converted to an internal form.
Statement types are identified,
labels
are
inserted into the dictionary, and staterrent
identifiers are replaced by single-byte
codes (see Appendix D.l).
A record is kept of block nesting levels
and counts to enable a check to be made for
the logical end-of-program indication.
In
order to do this, certain statements have
to be either partially or completely analyzed in this pass.
These statements are:
PROCEDURE-END
BEGIN-END
DO-END
IF-THEN-ELSE
ON
Phase CL
The output from phase CI is processed
and the statement types listed below are
analyzed in greater detail:
ENTRY
PROCEDURE
DO
Iterative DO
RETURN
GO TO
DELAY
DISPLAY
FREE
WAIT
READ
WRITE
DELETE
UNLOCK
LOCATE
REWRITE
To facilitate a search through the dictionary for an entry with a particular ECD,
a method is used of dividing the dictionary
into areas. Each area is characterized by
a property of the BCD of each entry in it.
In practice, these areas are not contiguous
but are chained lists,
each item in the
list being one dictionary entry long.
The start of each list is in a table,
known as the hash table.
The association
of a particular identifier with a list,
i.e. the characterization of an area, is
achieved by deriving from a given BCD an
address in the hash table.
Phase CS
The output from phase CL or CO is
processed. In particular, the syntax of
input/output
statements
is
analyzed,
together with the FORMAT statement. If the
source program contains no input/output
statements, this pass is not invoked.
Phase cv
31
32
r-------------------------------------,
r'---> I
I
I r-->I Dictionary entry for entry label
IA
IIII Ir--IL _____________________________________ JI
III
III
r-------------------------------------,
II
r-----------------------------------------,
I
V
II
I I r----------------- L - - - - - - - - - - - - - - - - - - - , r-------------------------------------,
! L_>I Entry type 3. This entry is used
I Second entry type 2.
I
I
I to point at the data description C I I Used to provide data description
I
I and parameter descriptions for para-ID
r--I meter matching.
I
I l-------T---------T--------------T---- J
II
II
II
II
L___
I
I
I
II
I
I
L __________ ,
l ______ .______________________ ,
r----------------------,
I Description of
I
I
IE
I first parameter
I
l ______________________ J
r----------------------,I
I
I Entry type 1 for
l_>1 PROCEDURE or
l___ I ENTRY statement
IF
I
l-----------T---------- J
r----------------------,
I Description of
I
I
I El
Il ______________________
second parameter
I
J
r----------------------,
I Formal parameter
I type 1 entry
I
IG
r-----------------------,
I Description of
I
I
I E2
IL _______________________
each parameter
I
J
r-----------------------,
I Description of paraI
I meter used in prologuelH
Il _______________________
construction
JI
l---------------T------ J
I
1\
Il ______________________ JI
/\
I
Il ______________________ JI
Phase ED simply moves a set of subroutines, which handle certain features of the
list processing facility, into the communications region and sets a register to point
at them. The routines will later be used
by phase EL.
parti-
33
!NITIALl.
dictionary entries
for INITIAL attributes.
INITIAL CALL:
second file
are created
statements
are
constant
is
con-
PICTURE:
a picture table entry (see AppendiX--C:7>
is created and inserted into the
picture chain; similar pictures share the
same picture table.
The source text is
replaced by a pointer to each entry.
USES and SETS: USES and SETS attributes
a re--ffiov ed--rnto dictionary entries, and
pointers to the entries replace the source
text.
Phase EI
Phase EI scans the chain of DECLARE
statements set up by the Read-In Phase, and
modifies the statements to assist Phase EK
as follows:
LIKE:
BCD entries are created for identIfiers with the LIKE attribute.
LABEL:
if the LABEL attribute has a list
of statement label constants attached, a
single dictionary entry is created.
The
dictionary entry contains the dictionary
references of the statement label constants
in the list.
34
scale
constants
identifiers, or
used to store information about the identifiers, and has entries of a similar
format to that for dictionary entries.
Complete dictionary entries are constructed for every identifier found in a
DECLARE statement. These identifiers can
be one of the following types:
1.
2.
structures (in
level
number
Appendix C.4)
3.
4.
5.
6.
DEFINED data
2.
3.
Files
4.
5.
6.
GENErtIC identifiers
7.
structure members
8.
9.
Event Variables
8.
Task Variables.
be associated with
picked up in three
First, the attributes immediately following the identifier are stored in the
attribute collection area.
secondly, any factored attributes and
structure level numbers
are
examined.
These are found by using the list of
addresses placed in scratch core storage by
Phase EI.
Each applicable attribute is
marked in the attribute collection area,
and any other information, e.g.
dimension
table address, or picture table address, is
moved into a standard location in the
attribute collection area. All conflicting
attributes are rejected and diagnostic messages are given.
Finally,
any
attributes
which are
required by the identifier, and which have
not been declared, are obtained from the
dE~faul t rules.
35
diction-
If an identifier is found,
it
is
examined to see if it is an undefined
formal parameter. If it is, the formal
parameter is made into an entry pOint,
again using default rules for data description.
If it is not, or if the declaration
of the formal parameter is complete, the
type of entry is checked for the legality
of the call.
A diagnostic message is
generated if the item may not be called.
In all cases, the item called is marked
IRREDUCIBLE if it has not previously been
declared REDUCIBLE.
which
I
All pOinter qualified references in the
Itext are checked to determine that the
Iqualified variable is based.
For every
I occurrence of a variable with a different
Ipointer a new dictionary entry is made.
If
Ithe variable is a structure the entire
I structure is copied.
A PEXP second file
Istatement is made for the pointer and the
I'defined'
slot in the new dictionary entry
lis set to point to it instead of to the
Ideclared pointer.
I
The BCD of the pointer and the based
Ivariable in the text are replaced by the
Inew dictionary reference followed by padIding of blanks which will be removed by
Iphase FA.
I
The based variable can be the qualified
Iname of a structure member.
If this is so,
Ithe name is checked for validity. Only the
Ifirst part or lowest level of the qualified
Iname in the text is replaced by the dicItionary reference of the rrember.
It is
Ipreceded by a special marker to tell phase
IFA that a partially replaced name follows.
dictionary is
scanned
and
references
obtained for any identifiers which are,
contextually, file, event,
pointer variables,
or programmer-named ON conditions.
If no reference is available, a new dictionary entry is made. The identifier is
then replaced in the text by the dictionary
reference.
If a constant marker is found,
the
dictionary is scanned to check if the
constant is present.
If it is not, a new
dictionary entry is made (see Appendix C.7)
and the resulting reference replaces the
constant in the text.
If a P FORMAT marker is found,
the
dictionary is scanned for a picture entry
in agreement.
If there is no agreeing
entry, a new dictionary entry is made (see
Appendix C.7)
and the picture chain is
updated. The dictionary reference replaces
the format marker in the text.
The CALL chain is removed from CALL
statements. The appearance of PROCEDURE,
BEGIN, END,
and DO statements results in
adjustments to the level and count stacks.
If statement introduction code bytes appear
(such as SN, SL, CL, and SN2), the current
statement number is updated.
All data
items associated with the PROCEDURE, BEGI~,
ENTRY, and DECLARE statements are removed,
leaving only the statement identification
and the keyword.
Phase FI
-------Phase FI scans the text and checks,
where possible, the validity of dictionary
references found.
References in a GOTO
statement are checked that they refer to
labels or label variables and that the
subsequent branch is valid. The code byte
for GOTO is changed to GOOB
(see Appendix
D.l)
if the branch is to a label constant
outside the current PROC or BEGIN block.
If the branch is to a label variable, GOOB
is set up unless a label value list was
given at the declaration, and all members
of the list lie within the current block.
I
List processing based variables in ALLOICATE, FREE, READ, WRITE, and LOCATE stateIments are rrarked as requiring a Record Dope
IVector
(RDV). Variables in TASK and EVENT
loptions on CALL statements are checked for
Ivalidity.
References are checked if they appear
where a file is expected.
Items ln data
lists are checked for validity, and Data
Element Descriptors (DEDs) and symbol bits
are set on for all variables found in the
lists.
Any errors which are found cause diagnostic messages to be generated and durrmy
references to be placed in the text in
place of erroneous references.
37
Phase FT
------Phase FT performs certain housekeeping
tasks. These are as follows:
List Processing POINTER and OFFSET variables in CHECK lists are treated as data
variables. BASED variables may not appear
in CHECK lists.
I 1.
2.
3.
4.
5.
6.
8.
9.
10.
3 bytes
3 bytes
r-------------T--------------T------------,
I Dictionary
IText reference I Text chain I
IL _____________
reference
Ito
this item
I ____________ JI
______________
~
entry
2 bytes
r-------------------T---------------------,
I Statement number I
Text chain
I
L ___________________ ~ _____________________ J
I
The dictionary reference of a POINTER in
I a PEXP <pointer expression) second file
I statement is inserted into the defined slot
I of the associated based variable.
If the
an
identifier
39
2.
3.
4.
Second level
are removed from
and some of the
into a form more
code phase.
I~~EQ~~~Y_!Q~~g~~
Pretranslator phases create temporary variatles for function and procedure calls where the
arguments do not match the final parameters,
where expressions appear as
arguments, for control variables for DO
loops in array and structure assignments,
and for iSUB defined subscript
lists. The Pretranslator has no mechanism
for
evaluating
expressions.
Therefore,
temporaries which have no
data type are created for expression
arguments with no para~eter description. The data type of these temporaries is completed by the Translator
generic phase whEn the resultant data
type of the e~pression has been determined.
When the Pretranslator creates a temporary from an argument which contains
any array with adjustable bounds or
adjustable
string
length, compiler
functions (see Appendix D.8) are generated in-line, to set up the adjustable
quantities at object time, to enable
storage of the correct SiZE to De
acquired by means of the BUY statement.
iteration
factors
2.
3.
This phase also inserts a special argument marker before each argureent in the
list,
followed by the reference of the
corresponding parameter and a code byte to
show whether or not the argument is specified in a SETS list.
The number of arguments present is checked against the number
given as required by the corresponding
dictionary entry.
1.
NULL, NULLO, and EMPTY built-in funcItions are recognised and converted to conIstants.
I
This phase acts as a
Iphase GP.
pre-processor
for
are
which the
are exam-
Temporaries
(see Appendix
C.4)
are
created for any arguments which are expressions.
(An expression is def ined as being
any sequence of variables and operators,
41
I
If a TASK, EVENT, or PRIORITY option is
Ipresent in a CALL statement, then any
Itemporaries which are created are of the
I'not sold' type.
If GENERIC entry labels are specified as
arguments to procedures, a special dictionary entry is made which contains the
argument and parameter description dictionary references, to enable the Translator generic phase to select the correct
generic member.
A warning message is printed whenever a
temporary is created for an item declared
in a SETS list.
When subscript lists for the number of
cross sections are being checked, a severe
error message is printed if a subscript
list contains too many subscripts, and the
statement is deleted.
Where the expression contains a partially subscripted array, a temporary is created with a dimensionality equal to the
number of cross sections specified in the
subscript list.
When
single arguments are specified
together with parameter descriptions,
the
arguments are compared with the parameter
description.
If there is a lack of match,
action may be taken in one of two ways.
1.
2.
42
each dimension.
It is then added to the
AUTOMATIC chain for the appropriate block.
Iterative DO loops are constructed, with
the temporaries iterating between the upper
and lower bounds of that particular dimension. Base elements are assigned, with the
temporaries as subscripts, and with scalars
remaining unchanged.
END statements are
created for the DO loopsp and SELL statements for the temporaries. The statements
which have been created are nested within
the original statement.
Phase HP scans
references to items
is
also
43
led.
Phase 1M
--------
44
IPhase
- - - - -JD
I
Phase JD scans the text for concatenaItion and unary prefixed triples with ccnIstant operands. These are evaluated and
Ithe results are placed in new dictionary
lentries. The references are passed thrcugh
la stack into the corresponding result slots
lin the text.
IPhase
- - - -JI
I
The first function of phase JI is to
lobtain scratch storage in which the text
I skeletons contained in phase JJ are to be
Iheld. Phase JJ is then loaded, and its
I contents are moved to the scratch storage
Ifor subsequent use by phases JI and JK.
IPhase JJ is then released and control is
Ireturned to phase JI.
I
The main function of phase JI is to
I expedite data interchange activities. A
Iscan of static, automatic, and controlled
I chains is performed. The chains are reorIdered so that all data variables appear
I before non-data items.
Adjustable PL/I
Istructures and arrays are detected.
Each
I entry in the COBOL chain is mapped as far
las possible at compile-time,
removed from
Ithe chain, and placed in the appropriate
IAUTOMATIC chain.
Data
type triples in the text are
scanned and a stack of teffiporary results is
created containing the values:
X'40' for POINTER
X' 02' for AREA
X'OO' for any other data type
The maximum permitted number of temp?raries at anyone point in a program lS
200. The compilation is terminated if this
figure is exceeded.
45
of
arrays
ele-
of struc-
Dope
vector
descriptor
dictionary
lentries and record dope vector dictionary
entries are made for items which need to be
mapped at object time, or which appear in
RECORD-oriented input/output statements.
For
all minor structures and major
structures the following calculations are
made:
Size
The offset from the preceding alignment
boundary with the same value as the
maximum appearing in the structure
Where a structure contains adjustable
bounds or string lengths, code is generated
to call the Library at object time.
For arrays, the multipliers are calculated, unless the array contains adjustable
items, in which case the Library performs
the calculations.
For adjustable structures, arrays, or
strings, code is generated to add a symbolic accumulator register into the virtual
origin slot of the dope vector, and the
accumulator register is incremented by the
size of the item.
Calculations are made in a
similar
fashion for arrays of strings (in structures or otherwise) with the VARYING attribute. In addition, code is generated to
set up an array of string dope vectors
which refer to the individual strings in
the array using the dope vector. Code is
also generated to convert the original dope
vector to refer to the array of string dope
vectors, instead of to the storage for the
array.
The routine which generates code for
arrays of VARYING strings is also used to
generate code for the initialization of
arrays of TASK, EVENT, and AREA variables.
and
1.
Correspondence defining
2.
3.
4.
Mixed
scalar-array-structure-string
class overlay defining
is
Pseudo-Code
Item~
In addition to there being one pseudocode item for each machine instruction
which could be generated, there are also
pseudo-code items which are produced to
convey information from one phase of the
compiler to another.
47
Phase
LA is a utility phase which
remains in storage during the whole of the
pseudo-Code Phase.
It provides the main
scanning routines to handle input and output text during the Pseudo-code Phase.
The routine/subroutine directories in
this publication give a complete list of
the routines provided, together with brief
descriptions of their functions.
Phase
LB
-----phase LB scans
PROCEDURE, BEGIN,
triples.
48
Phase LG
-------Phase LG scans the text for DO loops. A
stack is maintained with each entry containing a description of a DC group.
ThE
stacking reflects the nesting of the DO
groups. For each DO or iterative DO triple
a new entry is made at the top of the
stack.
DO specification triples are analyzed
and expressions are assigned to temporaries; sutscripts in the control variable are
assigned to binary integer temporaries if
they are themselves variable. At the end
of each specification, pseudo-code and triples are generated to control the loop.
Triple operators
(see Appendix
peculiar to the specification of DO
are removed from the text.
D.4
loops
variables,
subscripts,
argument markers.
functions,
and
I
Phase LX consists of three modules, LW,
ILX, and LY.
Module LW acts as a preIprocessor for LX and LY, moving constants
linto scratch core prior to loading the
Istring-handling modules.
Phase LX scans the source text
to
convert string triples to pseudo-code. If
a result is produced it is added to a stack
of intermediate string results.
49
For
the comparison triples GT, GE,
equals, NE, LE, AND LT, both operands are
already string type.
If one operand is
zero, the operand is obtained from the
associated TMPD triples. In-line pseudocode is generated if the operands are
aligned and are of known lengths less than
or equal to 255 bytes; otherwise, Library
calling sequences are
generated.
The
triple and any TMPD triples are removed
from the text.
In the case of the string triples CAT,
AND, OR, and NOT, the operands are converted to string type by phase LV.
Zero
operands are obtained from associated TMPD
triples.
In-line pseudo-code is generated
when operands are aligned and are of known
lengths less than or equal to 255 bytes.
For the CAT operator, the first operand
must be a multiple of 8 bits unless the
strings involved are less than or equal to
32 bits in length. In-lin~ code is also
generated for the following cases involving
non-adjustable varying strings:
1.
Character
string
concatenation of
varying strings with lengths less than
256 bytes.
2.
markers.
A
stack
of pseudo-variable
descriptions is maintained, together with
the left hand side descriptions of multiple
assignments when they occur. Pseudo-code
and
triples are generated for pseudovariables
and
the
left
hand
side
descriptions of multiple assignments are
put out in the correct sequence.
Phase MB
Phase MB scans the text for pseudovariable markers and multiple assignment
50
FLOOR
IMAG
REAL
TRUNC
UNSPEC
BINARY
DECIMAL
FIXED
FLOAT
PRECISION
MAX
MIN
If
CALL
is
accompanied by a TASK,
library module
IIHETSA is loaded rather than IHESA, and the
I parameter list is modified to include the
laddresses of the TASK and EVENT variables
land the relative PRIORITY.
MOD
ROUND
DIM
LBOUND
LENGTH
text fcr
procedure
51
~Q~~
triples are compiled into oneinstruction branches to the compiler label
number in operand 2 of the triple.
52
For
the tasking option WAIT, whose
argument is an EVENT array, the phase makes
a 4-byte entry in the parameter list,
containing
the
number
of
dimensions
involved, and the address of the EVENT
array dope vector.
If the WAIT statement
contains an EVENT array and no scalar
expression, the first byte of the parameter
list is set to X'FF'.
Byte 1
QEf~~~2n_2g
Byte 2
!2Q2_1_22~~2~~_cod
Byte 3
!2QE_~_2Etions
00
04
08
OC
10
14
00
04
08
04
08
Byte 4
READ
WRITE
REWRITE
DELETE
LOCATE
UNLOCK
SET
IGNORE
INTO I FROM
code
KEYTO
NOLOCK
!2Q2_1_22ti2~_od
04
08
oc
VARY INTO
VARY KEYTO
BOTH
Note that null argurrents in the parameter list or REQUEST_CODES are indicated by
zeros.
A(DCLCB)
A(RDVICOUNT 1 IPNTR 2 ISDV3)IO
A(EVENTILABELq) 10
A(SDV.KEYTOISDV.KEYFROMISDV.KEY)10
A (REQUEST_CODES)
Both the
parameter
list
and
the
REQUEST_CODES word are constructed in STATIC storage. However, if the argument of
lany of the options refers to AUTOMATIC,
I CONTROLLED, or BASED storage, the parameter
Ilist is moved to the WORKSPACE storage for
the statement; the argument is then providled just before the library call is made.
I
In the case of the LOCATE statement, the
Iphase is responsible for generating code to
Iset the pointer variable with the pointer
Ivalue returned in the first word of the RDV
Iby the library. If the BASED variable was
la structure with a REFER option in an
lextent definition, it is also responsible
Ifor generating code to initialize
the
I extent variable named in the REFER option.
The DCLeB parameter is taken from the
FILE option of the statement; the FILE
option must be either a file constant or
file parameter.
The record dope vector (RDV) is assumed
to have been constructed by earlier phases,
lexcept in the case of CONTROLLED or BASED
Ivariables or CONTROLLED or BASED aggreIgates, when the procedure is as follows:
1.
A(D.V)
A(DVD)
A(RESULT.RDV.SLOT)
53
2.
For OPEN and CLOSE statements, a parameter list is constructed from the options
given.
The options are first checked for
validity with respect to multiple specifications.
The arguments on the options are
checked and converted, if necessary, to the
correct data type.
If no file is specified
in an OPEN or CLOSE statement,
it is
ignored.
The parameter lists are as follows:
OPEN
DC
A(DCLCB)
DC
A(OCB)
DC
A(TITLE.SDV)
DC
A(IDENT.SDV)
DC
A(IDENT.DED)
DC
A(KEYLENGTH)
DC
A(LINESIZE)
DC
A(PAGESIZE)
CLOSE DC
54
A(DCLCB)
DC
A(IDENT.SDV)
DC
A(IDENT.DED)
zero
by
indicated
DC
A(DCLCE)
DC
A{next statement)
DC
A(SDV of string
DC
argu~ent)
1.
Initialization of a block of
storage for use by Phase NU
2.
scratch
tri-
Assignment
following
1.
Floating-point to floating-point
2.
3.
4.
5.
6.
7.
Label to label
8.
9.
POINTER/OFFSET to POINTER/OFFSET
110.
1
I
I
FIXED
CHARACTER string to VARYING
CHARACTER string and VARYING CHARACTER
string to VARYING CHARACTER string
provided that:
1.
55
2.
3.
For
FIXED CHARACTER string to
VARYING
CHARACTER
string
the
length of the FIXED string is not
greater than 256 bytes.
All other assignment triples are translated into the CONV pseudo-code macro.
If the source operand is a constant, the
type of the target operand is inserted in
the constant dictionary entry, for processing by the constant conversion phase, and
the assignment is translated assuming the
target type.
MULTIPLE ASSIGNMENT triples produce the
same-Code as~or-sIngle assignment, except
that the registers used by the operand
concerned must not be changed or dropped.
Library calling sequences are generated
for ALLOCAT~L-ig~!L_~UYL-~~3_SE~~ triples,
and pseudo-code markers are left in the
text for insertion of code by Phase QF.
with PECI~L AS1~~~~1 triples, if the
target is a varying or adjustable string,
storage is obtained if the target is AUTOMATIC, or allocated if the target is CONTROLLED.
The assignment is then translated.
Code to
package
2.
Code
to
"in-line"
3.
56
call
IPhase
OP
-----I
Phase OP generates in-line code to perIform BINARY to BIT string, BIT string to
IBINARY, and FLOAT to FIXED BINARY converIsions.
perform
the
conversion
I
The purpose of phase PA is to deterrrine
Ithe eligibility of the automatic chains of
lany block for STATIC DSAs. Any chain not
Iso far found to be ineligible for a STATIC
IDSA is scanned to determine the DSA size.
ISTATIC DSAs are generated for any chains of
Iless than 512 bytes.
I
Dictionary entries are generated for
ISTATIC DSAs. This phase also acts as a
Ispill area for routines used in phases PD
land PH.
57
Phase PL
Phase PL scans the STATIC, AUTOMATIC,
CONTROLLED, structure, and PROCEDURE block
chains for variables which require storage
for their symbol tables and/or data element
descriptors.
When a variable is found which requires
a symbol table, the variable is joined onto
the chain of symbol variables for the
particular block. A symbol table dictionary entry is created for the variable (see
Appendix C.?), and a chain is set up to and
from the dictionary entry for the variable.
The new dictionary entry i~ joined onto the
STATIC chain.
The size of the symbol table is calculated, and its offset from the start of the
STATIC control section is stored in the~
symbol table dictionary entry. Throughout
the allocation of STATIC storage a location
counter is maintained to contain the next
free location in STATIC; this counter is:
increased appropriately.
All symbol variables require a DED and a
branch is taken to the routine which allocates them.
When a variable is found which requires
a DED, it is determined whether or not the
DED descr~bes a standard type; there are
eight standard types, which consist of the
different kinds of real coded arithmetic
data that can be obtained by the combination
of
the
attributes
FIXED/FLOAT,
BINARY/DECIMAL, LONG/SHORT (default preci-sions only).
If the DED is of a standard type, a
check is made for an identical DED that may
have already been encountered, so that
there will be only one allocation of storage for anyone type of standard DED. If
the DED is not of a standard type, it is
allocated storage of its own.
If the variable does not already have a
symbol table dictionary entry (which contains space for DED information), a OED
dictionary entry is constructedi and thE~
offset of the DED in the S~ATIC control
section is stored in it. A pointer in the
new entry in the dictionary entry for the
variable is also set up.
I
Two words are allowed for tasking inforImation in the DSA if the TASK option is on
Ithe external PROCEDURE of the compilation.
The AUTOMATIC chain is scanned and dope
vectors are allocated for the items requiring them. Code is compiled to copy the
skeleton dope vector, and to relocate the
address in the dope vector.
I
Phase PP extracts all ON
condition
entries and places them at the head of the
AUTOMATIC chain.
It then extracts all
temporary variable dictionary entries from
the AUTOMATIC chain and places them in the
zone following the ON conditions in the
chain.
All dictionary entries which are totally
independent
of any other variable are
extracted, and also placed in the zone
following the ON conditions.
The phase then extracts all dictionary
entries which depend upon some other variable in containing blocks or in the zones
already extracted, and places them in the
next following zone.
Dependency includes
expressions for string lengths, expressions
for array bounds, expressions for INITIAL
iteration factors, and defined dependencies.
This is repeated recursively until
the end of the chain.
If some variable
depends upon itself, a warning message is
issued.
A
special zone delimiter dictionary
entry is inserted between each zone in the
AUTOMATIC chain (see Appendix C.7). A code
byte is initialized in the delimiter to
indicate to Phases PT and QF whether its
following zone contains any variables which
require storage (i.e., it does not consist
entirely of DEFINED items, which do not
require storage), and whether or not the
following zone contains any arrays of VARYING strings.
59
2.
3.
under
At the end of the prologue, the statement label item saved earlier is inserted
to mark the apparent entry point. Code is
produced to effect linkage to BEGIN blocks
in such a way that general register 15
contains the address of the entry point,
and
general
register 14 contains the
address of the byte beyond the BEGIN epilogue.
At the end of the text, any text blocks
that are not needed are freed, and control
is passed to the next phase.
60
fer
ALLOCATE,
The action onencountering a BUY statement is similar to that for the ALLOCATE
statement, with the following exceptions:
1.
Bound and string length code is inline, bracketed between BUYS and BUY
statements - there is therefore no
look ahead
2.
There is no
initial
value
associated with temporaries
3.
This phase comprises two physical phases, each with a specific function.
The
first,
Phase RA, processes the addressing
mechanisms, while the second [hase, Phase
RF, allocates the physical registers.
code
The action on encountering a FREE statement is to generate code to load a parameter register with the pointer to the allocated storage for the FREE VDA Library call
inserted by the pseudo-code.
61
as assigned,
2.
3.
4.
Entry
points to Library routines,
IHESADA and IHESADB (ER type)
5.
IHEQERR (PR)
6.
IHEQTIC (PR)
1.
EPILOGUE subroutine
DYNAMIC PROLOGUE subroutine
STATIC PROLOGUE subroutine
2.
EPILOGUE subroutine
DYNAMIC PROLOGUE subroutine
3.
EPILOGUE subroutine
STATIC PROLOGUE subroutine
Built-in functions
tions (ER type)
2.
3.
4.
5.
Programmer
type)
ON
condition
names
(SD
63
65
2.
66
Identification of tables
phase flowcharts is based
label.
and physical
on the phase
Chart 00.
..x
liZ
YES ",URO
:11 ............. OPTl ON ON (I
:..-.-.-...._...Z!:
.
:
~~~:lh~EH~r
...
.....
~I...............
....
NO
.. .. ..
x
II
..
:.
Cl
HAScA~p
*.
*.
..
.:.~~
*
YES
................
RETUR"
..
..
'
..
C~iRU .:.~?
*. * .*
YES
Ol.!..
..
:.
CZ
...OZ...
ic
EXECUlE
FORTY
e GHT
PR~~~~~~S~~R
............ x.x ,.
EZ.!
.-.-.-.-.-.-.-.-.
"2.
LOGr~tp-~~ASE
GZ..x ..
......Gt...........
PR NT 0rT
AT R
ANp ~aH ~
.......
,
RET~lIe~
~
~.....
YES ATR/XREF
K "..
I)PTI ON ON
......"
....
NO
x.
X
1i1.
.-.-*-.-.-.-.-.-.
:
nlt*
..................
:P~~GI~~~Sh~X~;
Jz
.......-.-.- ..........
..................
X
1'5
TRANSLATOR
UIGICAL PHAse
r~~~E~~A!'~n~~~~F.N S
'''0
KZ. .
X
.,~
....-*- ....-.-.-.-.
: l~ay~~EA~~SE :
..................
......x
..
*OA
A2"
67
Chart 00.
.......
0,11
,112
AZ
.- ....-....-.-.-.-.
ic
07
PSEUDO-CODE
LOGICAL PHASE.
..................
X
*.
81
~D
82
ne
.................
ATR..
.-.-.-.- .......-.-.
: OPTION x : AlU~:~~5N
:
LOGICAL PHASE.
.. ..
x
....
.
.....
YES
C2
: Cl :
PRINT OUT.
AGGREGATE
: LENGTH TABLE :
*:Z ~::
TANH~lYREGI I SoT~RoAl~gCAn~NE ~OOG~CEASlS I CHILASlfYP~NRhO:MlLSOCA~TES
: - . - . - - - - . - . - . - . - . . . PHYSI~A~ REGI~ih~ IN"PLAcF OF SY14eOllC ONES.
X.
REG~lTfR
.)( C2
: L~~~gAl T pa~ e :
E2
..x
OPTll~T
NO
ION ON
*.
*.
.*
* .*
YES
X
.1'2
:08JEt~0~'iHING :
..
X e
...
G2
ANY *.
NO
DIAGNOSTICS
.. -. .-..
*
YES
ic
HZ
PRI NT OUT
..................
D~~~~~~HC
. x..
..x
J2
ANY to
MORE CO'4-
PllATIONS IN
fHI S 8ATCH..
)(
*.
..-.-
*C'-!'"
NO
K2
X
,liZ
RETURN Tn
.. *
68
Cl1art AAo
Resijent Control Phase Logic Diagram (Modules AA through AM, ard JZ)
....
.....
III
~
OP~U~~A 3 . . . . . . . . . .
Z INH . . . A2 . . . . . . . . . .
4':~n~~~6~.
PRO~~~ A4..........
OPT
::~~.A'I.:.. . . . . . . .
.;................................
. ................... ..................
.... . ...................
....
... ..
:INlTI1~WATION
PHA~F.
:~VjINO'~SPRINT:
:
:
RUlln FIRST
:
:
LOAn IE"'U
ooK. V UTI!. SVSUT3 lI.
HALF OF
. . . . . . . . . K.
AND PROr.FSS
IEMA8.
E SfORAGE fTC.
.PHASF 'lIRECTORV.
JPT IONS l I~T
.C',LLING PROGRAM . . . . . . . . . K.
4'....
.....
;' *111...
...*113..........
...
41
Ell
83 .X
NO
82
.111
~:ELEASE
IEMAF
III.
K.:D)NltfN~~v
.: .!;~ ...
REQUIREO
*.
4'
*
*
K
C!
..x .0
4'.
A BATCH
JOe
*.
f2 *1(".
ic
.................
LOAD I EMAN
X..
NO
1'14 .. *.
.
., ,.
*..*
VI'S
VF S
. x
..
..
.
.................. .................
NO 0
C3
C4.
LOAD lEMA!.
...'..01..
.................
ic
~~~~C
$fI
I S 4,.
MACOCK
X..
(liAR
SPECIFIED..
x
SPECIFIFI'
.............
*
*
VI'S
NOf)UMF'
I S . , NJ
1ST HIS *.
'
.. .. .
85 ..
*..
....
83 ."..
:
.
.........
'
00.
ooett eo.
.........
....
.....
1'4
E2
1'5
X
X
..'.."1.......... .....1'2X.......... ....*1:3.......... ."' ..."4..........
.....F5.........
.
ic
OPEN8'"
NOMP
LOI"lFST
OPEN SVSUT3
FOR OUTPUT
: . . . . . . . . K:
...
LOAO A
PRINT L I S T .
RELEAIE.
LOAf) IEMAN.
OF OPTIONS
: X:INJ~lUltE~l~N: ,X:lAT~~~~~~~S
: X:
CD~~!~V
at " flo 0
Fl..
.. ..
NO
...ic
G1
WAS IT
VI'S
<Irr:.
".
.. -. ....
IE'4CV
I ~~llUf~
OPEN
VSUT3
FOR
NPUT
HI
**
.-.
.........
o.
R EAO- I N .
...
END YES
OF FIRST ttAlF
PHASF LIST..
- ~O
G~
WAS
-...
. o
If MAC
LOADED
.' G4
~EL~A<;E
..
..
H2..........
H3
...
....
H1
.-.x
.. ..
NO
............
K
.. 1'4 ..
.................
'"
Z ENO
X
..... H4
:
F:~~S\9~Mp
..........
:
SEVERITV . . . . .
COOE
oo.X.P~CKlI~
....
"'.
.0 ....
0
.1"
J5
)(. J5
.*
JI
J 2 . . . . . . . . . .
J3
ANV
WAS
YES
MOOU~F A K .
MORE
NO
REI~~~ TO , X:~g8~T~ORE~Hl~V:" " . , l(~~r~r~H~~N~.o :
E5
H4 - ....
.,~....
:
r~~5~Ul~:
R~ASF!:~' VI'S
X. RUlLO SI'CUNn .,X A~F.R"'yNAl
HALF PHASE.
)(
ERROR
OIRECTORV
o.
- ~O
.0
*eoJtlfI'<*
1)1
F5
TEMAC
NO
x*
............. ....
YES
,,'1.)(.
OHC~I flf'n IN
HOLlDW'IG CHRTS'.
NO
, K. E5
G2
EKECUTE
IEMAG T O .
.' F4
......
.................
*..*
1'2 ..........:
WAS
YES
:
PHA SE
0 X.
IEM8X
J4 ".
RELEASF AK
.. JS "'
r.LOS( SVSUTl
..
~CAN BATrH
DFLtMITFR
RECORD FnR
SYNTAX ERRORS.
*0"
VFS
....
H4
'" H3
....K4
II. 1'= TUR'I
TO CA.LL ING
PROGRAM
1)1
** **
section 3:
Ch~rts
an~
Routine Directories
69
Table AA.
r-----------------------------------------------T---------------T-------------'----------,
IMain Processingl
I
I
statement or Operation Type
I
Routine
I
Routine Called
I
r-----------------------------------------------t---------------t-----------------------~
IInitializes the compiler
IZINIT
I LOADW, ABOR~
I
IPara~~ters ~~Q:
70
Table AA.
r--------'---------------------------------------T---------------T-----------------------,
I
I
IMain Processingl
I
Routine
IRoutine Called
I
I
~-----------------------------------------------t----- ----------t-----------------------i
IZABORT, ABORT
I
I
I
I
I
I
I
~-----------------------------------------------t---- -----------t-----------------------i
IZUPL
I
I
I
I
I
I
I
I
I
I En!Y_!2..J2{l&Q: TIME,
I~REEMAIN,
I
I
DELETE
~-----------------------------------------------t---- -----------t-----------------------i
I PIH
I
I
I ZUERR
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I En!:!:y_to_OS{l&Q=
None
I _______________ I _______________________ JI
L
_______________________________________________
~
Table AA1.
r------------------T--------------------------------------------------------------------,
I Routine/Subroutine I
Function
~------------------t---------------------------------- ----------------------------------i
ABORT
BLKERR
CONSLD
CONSLT
Takes text reference and points at relevant slot in text block con- I
trol area (TSLOTS).
I
lDFREE
Finds dictionary block which can be written on disk to make room for
a new block in storage.
I.FERRX
I.OADX
I.OADW
PIH
PLERRX
HDERRX
READX
RELESE
HEQEST
RLSCTL
L __________________
71
Table AA1.
r------------------T---------------------------------------------------------------------1
tRoutine/Subroutinel
Function
~------------------+---------------------------------- -----------------------------------t
SPERRX
ZABORT
ZEND
Picks up the completion code for the compilation and returns control
to ZINT to continue the batch, or to the operating systerr at the end
of a single or batch compilation.
ZINIT
ZULF
lIZUSP
__________________
72
.Table AB.
Module AB Compiler Control Initialization
r-----------------------------------------------T---------------T-----------------------,
I
IMain Processing,
I
Statement or Oferation Type
I
Routine
,
Routine Called
,
I
~-----------------------------------------------t---------------t-----------------------~
'Issues a BLDL macro instruction on all phases
IPROPEN
INone
I
lin compiler, and constructs a compacted fhase
I
I
I
I dictionary
I
I
I
,
I
I
I
I
I
,
I
I Ent!j~_!2_Q'~.}~Q: BLDL
I
I
I
~-----------------------------------------------t---------------t-----------------------~
IPrints initial heading and performs scan of
10PTPROC
INone
I
loption list.
Default options are taken where
I
I
I
I necessary
I
I
I
I
I
I
I
I Par~me!:.!:_12~.~.9: General register 1 points to I
I
I
loption list passed at invocation time
I
I
I
I En!:!:Y_!:2_Q./3&Q: TIME, PU~ LOCATE (QSAM)
I
I
I
~-----------------------------------------------t---------------t-----------------------~
IMakes the initial space allocation for text andlOPENR
INone
I
Idictionary blocks.
Sets up communication
I
I
I
I
I
I
I region
I
I
I
I
I
I
I
I En!!:Y_!2_ OS{l&Q: GETMAIN (R)
~-----------------------------------------------t---------------t-----------------------~
INone
I
I
I
~-----------------------------------------------t---------------t-----------~-----------~
None
I
I
I
~-----------------------------------------------t---------------t-----------------------~
IReads first card and stores. Uses as heading
IRDCD
IZURD, ZUERR, ZUPL
I
I if required
I
I (all in AA)
I
~-----------------------------------------------t---------------t-----------------------~
IEn!!:Y~2-Q.{l&Q:
I ,
I.Ent!:Y_!:2-OS{l&Q: OPEN
~-----------------------------------------------t----- ----------t-----------------------f
I LODCNTL
I
I
I
I
INone
I
I
I
I
I
I
I
IL En
!:!:Y_!2.-2.{1&Q : LOAD
I _______________ I _______________________ JI
_______________________________________________
~
73
Table AB1.
r------------------T--------------------------------------------------------------------,
I Routine/Subroutine I
Function
I
~------------------+--------------------------------------------------------------------~
ABOUT
Returns control to pre-initializer in Module AA.
I
GETSCR
NDMP
NODUMP
OPENR
OPENSP
OPTPROC
PJ13
PROPEN
RDCD
first card.
L __________________
LIReads
____________________________________________________________________
J
Table AC.
r-----------------------------------------------T---------------T-----------------------,
I
IMain Processingl
I
I
Routine
Routine Called
~-----------------------------------------------+---------------+-----------------------~
IIEMAC
INone
I
I
I
IPa~~~~ters ~~~~9:
I
I
I
I
I
~-----------------------------------------------+---------------+-----------------------~
I ENDED
INone
I
I
IEn!~Y_!2_.2/3~Q:
LINK
L
_______________________________________________
LI _______________ LI _______________________ JI
Table AD.
r-----------------------------------------------T---------------T-----------------------,
I
IMain Processingl
I
I
Routine
Routine Used
~-----------------------------------------------+---------------+-----------------------~
IDebugging aids.
This routine contains a dump- IIEMAD
IZDRFAB, ZTX'IAB, ZUPL
I
ling program which is invoked by use of the DUMP I
I (all in AA),
I
ILoption
_______________________________________________ LI _______________ jDUMP
_______________________ JI
~
Table AD1.
r------------------T--------------------------------------------------------------------,
I Routine/Subroutine I
Function
I
~------------------+--------------------------------------------------------------------~
I DUMP
IConverts contents of specified area of main storage to hexadecimal, I
I __________________ I prints
the result.
L
____________________________________________________________________
JI
~
74
Table AE.
r-----------------------------------------------T---------------T-----------------------,
I
IMain Processingl
I
I
Routine
Routine Called
~-----------------------------------------------+---------------+-----------------------~
IIEMAC
I (Module AC)
INone
I
I
I
I
I
I
I
I
I
I
I En!EY_!2_0S{1..Q: CLOSE(current input file),
I
I
I DELETE
I
I
I
~-----------------------------------------------+---------------+-----------------------~
IOpens SYSLIN and SYSPUNCH data sets if requiredlNOT48
IZUERR (AA)
I
I EntEY_!2_Q{1..Q: OPEN
I
I
I
~-----------------------------------------------+---------------+-----------------------~
IExpands the number of blocks in storage to fourjNOTDCK
INone
I
Itext and four dictionary, if running with the
I
I
I
144k size option
I
I
I
GETMAIN
lIEntEY_!2--2{1~Q:
_______________________________________________
Table AE1.
I _______________ I _______________________ JI
r------------------T--------------------------------------------------------------------,
I Routine/Subroutine I
Function
I
~------------------+--------------------------------------------------------------------~
INOT48
IOpens SYSLIN and SYSPUNCH data sets as required.
I
lINOTDCK
__________________
Table AF.
IExpands
number of blocks in storage.
____________________________________________________________________
JI
r----------------------------------------------------------T----------------------------,
I
Function
I
Subroutines
I
~----------------------------------------------------------+----------------------------~
Table AG.
r----------------------------------------------------------T----------------------------,
I
Function
I
Subroutines
j
~----------------------------------------------------------+----------------------------~
INone
I ___________________________________________________________
Ent!:i~_to_OS{l''Q: OPEN and CLOSE
I ____________________________ JI
L
~
r----------------------------------------------------------T----------------------------,
I
Function
I
Subrout ines
I
~--------------------------------------------.--------------+----------------------------~
ICloses files, frees scratch core and deletes unwanted
IZURC(AA)
I
Iphases
I
I
Intri~~to
I
I
I
I
I
I
IFREEMAIN
L __________________________________________________________ I ____________________________ JI
~
75
r-----------------------------------------------T---------------T-----------------------,
,Main Processing,
Routine Called
I
II
~-----------------------------------------------+---------------+-----------------------1
, ,
I I
Routine
IZURC
IZUERR, ABORT
I '
I
I
' I
I
I
,
,
,
I
I
,
R~~~~~~~rs_E~~~~9:
I
I
I
,
,
~-----------------------------------------------+---------------+----~------------------~
INone
I
,
I
,
I
I
,
I
'
,
,
~-----------------------------------------------+---------------+-----------------------~
I
I
I "
I'
,
,
I
I
I
I
I
,
~-----------------------------------------------+---------------+-----------------------~
76
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
_______________________ JI
I
I
ITFREE
,
I
I
' I
I
I
I
I
E~~~~~!~rs_2~~~ed:
I
I
I
,
I
I
I
I
I
' I
I '
' I
~--------,---------------------------------------t---------------t-----------------------~
IWDWRIT
I
I
"
I !:~ra~!:~~~_2~~seQ: RDTTR=O, BLOKAD contains
I address of block that can be written o u t "
, Parameters returned: BLCKAD contains address
"
I of-"block-In-stc)rage that is now a v a i l a b l e ,
I
I E1!:!!:~_to_Q~l'Q: WRITE (BSAM), CHECK, NONE
IWRITEX
I
I
I
,
I
I
I
t------------------------------------------------t---- -----------t-----------------------~
I
I
I
I
t
I
t
!:~~~~!:~~_B~~~9:
I
I
I
I
,
,
~-----------------------------------------------t---------------t-----------------------~
IWDREAD
IREADX
' I
I
I
' I
I
I
,
,
I
I
!:~~~~etrs_E~~~~9:
' I
I
I
' I
I
I
I
I
I
I
I
I
I
I
~
t-----------------------------------------------t----- ----------t-----------------------~
IWRITEX
IZUPL, ZEND
I
I
I
,
I
I
I
t-----------------------------------------------t----- ----------t-----------------------~
'READX
IZUPL,
ZEND
I '
' I
"
"
,
,
,
' I '
I '
r-----------------------------------------------t----- ----------t-----------------------~
' I '
~
77
r-----------------------------------------------T---------------T-----------------------,
I
I
IMain Processing I
Routine Called
I
Statement or Operation Type
I
Routine
I
I
~-----------------------------------------------+---------------+-----------------------~
IPuts a record out to SYSPRINT.
Pagination
IZUPL
IPLERRX
I
I (paging action) is performed automatically
I
I
I
I
I
I
I
I E~ra~eters-Bas~ed: PAR1 -- address of output
I
I
I
I buffer. PAR3 -- address of output buffer
I
I
I
I containing page heading (if any)
I
I
I
I
I
I
I ~g!~y_!O OS/l~Q: PUT LOCATE (QSAM)
~-----------------------------------------------+---------------+-----------------------~
IFinds a new text block.
Optionally chains the IZUTXTC
ICONSLT, TRYMR~, ZUERR, I
Inew block to the current block and changes the I
IABORT, BLKERR
I
Istatus of the current block
I
I
I
I
I
I
I
I R~~~~~ter~_~~~~9: PAR1 -- optionally, a
I
I
I
I reference to the current block.
PAR2 -- a
I
I
I
I status and chain indicator
I
I
I
I
I
I E~~~~et~rs~~!~~~~9: PAR1 -- reference to new I
I block; PAR2 -- absolute address of the
I
I
I
I beginning of block
I
I
I
I ~~!~~QS/l~Q: None
I
I
I
~-----------------------------------------------+---------------+-----------------------~
IFinds the next text block in the chain.
IZCHAIN
ICONSLT, TRYMR~, BLKERR I
IOptionally, changes the status of the current
I
\
I
\ block
I
I
I
78
Ir-----------------------------------------------T---------------T-----------------------1
I
I
,Main Processing,
'Routine,
Routine Calles
I
I
.-----------------------------------------------+---------------+-----------------------~
,
,
I
I
I
,
J.-----------------------------------------------+---------------+-----------------------~
'ZDABRF
,CCNSLD, ZUERR, ABORT,
'IBLKERR
' I
I
I
' I
I
I
I '
I
I
I
,
I
I
I
I
I
~,-----------------------------------------------+---------------+-----------------------~
~-----------------------------------------------+---------------+-----------------------~
79
I ~------------------+--------------------------------------------------------------------~
Finds text block which can be written on disk
to make space for a new block in storage.
ITFREE
I
I
ITRYMRD
ITRYMRT
IWDREAD
IWDWRIT
I
I
WRITEX
WRTONL
WRTRD
ZALTER
ZCHAIN
ZDABRF
ZDRFAB
ZDICAB
ZDICRF
ZNALRF
ZNALAB
ZTXTAB
ZTXTRF
ZUERR
ZURD
ZUGC
ZURC
ZUPL
80
IZUTXTC
L
__________________
I
I
I
I
I
I
I
I
I
I
I
I
Table AM.
r"-----------------------------------T---------------T-----------------------------------,
I
\
Function
IMain Processing\
I
Routine
I
Routines Used
I
I
~"-----------------------------------+---------------+-----------------------------------~
81
Chart 01.
...x
YES
.*
E2.
*.
IN~l~EO
ex
ENC UN EREO.
*.
....
.*
NO
~i!;;~!i!~:::;:
... r...
MESSA
DUINOlTJC
E
TROl.
HA
..H2...
X
~'.! ~~:;~~-.-.J~:
RE-INlTiA~tZE
COMMo
R G N
AND TA k
'32
Cha rt 1\S.
A2
~NTRY
FROM
Diag~am
:~~U.~~
X
02
:
U~ ;~~~F ~c :
'INPUT' n~T
X
e2 *
TURN
INCLUDE-SW
OFF
* *.*
X
LOADW
.-.-.-Ai..-.-.-.-.-.
:";~n~:G*:
PH
~nAD
BG INTO
.,~ORA
~
*G2 .. **
,~
UE PI"A~E BG
no~~~nvCE
:*
*.*
,~
!NCTST
H2
X
,,*.
*
* is
YFS
!I:L~E-SW,
.. .1 ..
.*
NO
~2 IJ*
:
FtXRN
:
PHASE AA
(1
83
Chart AV.
.....
AV
A2
.S3.....
\(
~OVF TOKSC"l
TABLE I"lTO
SCRATCH STORAr,E.
.................
101101"1"48
C 3.......... .
ALLO~ATE PO'l
IN C!lATCH
S DRAGE
0"...ISFII..
ic
ncs's
SET UP
AND RUFFER
AIlFA FOR
A"lO SYSl 1\
...
INClUI)E F LFS
ic
F 3
SFT UP
KF YW'lRn T leL F.
.................
IN'\l8::~lH
WWJVLP
F3
~fT
UP TASLF'>
HI T II.ANSL ATE
EKTFR"lAL CO('"
TO EIICDIC
..
.................
.....
.................
HH'lflCf'I
...G~
'4AI<F
..
'lleT InNARY
...H3.:
'II
~[~c~; ~~:T
....................
""P'lCFnllllf TrWT
A"ln lVII'S
.
.
1<3
.. CRFATE
IVIPS
X
1!I'*** 41.
*K4 *
...................
.* ...
A;*
'(
"r. ..
111ft
84
ChaIt BC.
BC
A3
PH11~~"A3.:
SURT
INITIAL SCAN
..
~
B3
.. ...
....
..
BIt
*.
.................
IS
YES
.SET UP speCIAL
!NClH~E-SW )(: F.~~Tr)~~~:l
:
*..*
NO
C3 x.
:)C.....................
FINOPC
X
.C3.
PUT CHARS
INTO TEIIT
nOCKS UNTJL
::~nU=iS%:~.:
oz
ic
STB3
02 '"
'*
.....n..........
...............
PRO~~~U
1'2
.*
ON
.,
*.
.K..
fe3
E4
PUT
IS
NQ
END-OF-TjXT
T~~~E 8[~C~
:
!NCLH2E-SW Ie
*.
: II :~ ~.:. PR II EA ~RE .:.
*.
.
*.
.................
:
.'
ItI
L1AZ
:X ~~.:ENO-!Y~lle:.
*.
:
... yes,. .*
~~~V~~Mi
03
....o
*.
.. ..
l(:
.................
. YES
NO
PROC
..AT~ACH~O
FZ.
Fl
it
LlB
...'.
PROCESS
P:~E~S
>II
.....
'"
ADD CODE
TRl6~~T
'"
.................
*-.-..GZ
.SG
83.
~~2H~M
ic
F)
TO
STA TEMENT
ic
llE4P
OZ
ENcaOE STHNT
*- *- *-*-*-*-*
.USES AND TESTS.
A PUSH DOWN
STACK
.................
...
HZ
..it
H3
*.
wt. S I T . . YES
PROC
.. ..
*..*
....
....
YES..
02 .X
..
J2
.................
..........
x.
..
..,".
*0 o.
PROC
1Ir.
IS
TURN
PROC SW OFF
NO
.x..
BG
83
SW ON
(3
NO
".0
85
Chart BG.
8G
83
x. x
K
PH2SCN
.-.-.-.-*-.-.-.-.
:~;~.~~ ~;.;;::=.:
:TJ!~nSTbR2~T
: =U~_l~S~ :
.-.
~
C1
*
*
WHAT
*.
*.
.*
IS IT
* *
41 41 41414141414141414141414141
01
OAE08F
..02
04.
.11.
OAMAC
K
03
OAI DEN
OAOTHR
FNO OF TEXT
x
.. ... ..
El
NO
*.
IS
* .*
IDENTIFIER
....................
EZ
..
Gl
..................
*. *.
n~~Kp~~P
.X
...
.
_tc
* -
..
OAPENT
~
HZ
...
:~~~~~~:~
*H3
: :IIITPRT
INTERPRET
". .-.-.-.-........-.
. It: ~a:-I'l :
...
REPLi)EMENT
ON ARG GI'T
VIILU FOR
STACK
.................
.
.
YES
b~-~H-n~~
G2
)C
:.J2:
.................
P~~-H~-~~~'
YALUE ONTO
STACK
...
.*
J3
*.
WAS
NO
IT INCLUDE
*.
...
..
~
*.
YES
KZ K3..
....................
. ......
.. .
.
LEY-81T 1
TURN
I Nt LUOf-SW
ON
........ .
!'IC
~.~
86
n5.a........
to
..
AI
:_.~~~k~~!:~t_._:
OUTPUTS
..Hl:
OAEOS
E4
04
OAP~li
*.
NO
SCAN OF
*.
.. .. o ....
~H~~.
TO CALLER
I~I~~bRtM~E
YES
ACTIYATFO
.111
YES
...
LF.Y-BIT 0
*.
e.,
.,,"
. . .
TOKFN
Chart
Diagr~m
....
Brv1
"'
BH
AI
leA 0
: . . . . Al . . . . . ."' :
XA~ 1
. . . . E~H8tiS~
.............
"'... .................
S~T
: SEVERI Y CODE : X:
~EVE" ~F
O~~~~ySobf
XAI
YES
132
..x
ANY
f'NTR IES NO
*. *. PRlt2E~feo )(
*.
: e
* *
XA'~
C1..........
KA7
H~ai~G~::
A~LOU
.................
: ........
K~
.sw
AI.
I
... C2 '...
.'....
.0 ...... x
~~H~~
C 3..........
C4
rn ~~:
:
: hNk~5~b
:
:........
..............,...
~S~~:U
................
.
....
.
....
.................
K:
~L~K
: K:
04 ~.
NO
: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Cttl4I 0 . . . . . . .
,.e.
...
l(
114
He~E
YES
....rl.a........
..................
T
HEAgEOFT~HAIN
XAZ~
E2 "'..
e. E,...
'"
.
...................
:
..
K:
. . .
0:
K..
NE)(~ftt.OCK
BW
Or
Cle.8
At
'(Al~~ E4
....
.. ..
TM
YES
K
CHAIN
"N~W
,,~~I~~R9~h
.............
SEVERity
HEADER
K
Gl............
XA'lr
):.
.. Ii ..
.
...
....
*...
*..*
G2
Gl
.. ..
.NO
GET T O .
SKEL TON NO
END
YES.
NEXT eNTRY
X IN CU RENT lI OF CHAIN
X. 04
IN CHAIN.
BLOCK
.................
.....H2..........
X
XA32
H3 ..
....
.. ..
J2..........
.....JI..........
~~~~iE:
...
..................
:
.....J1."'"'..
....
YES
*HIt
.................
THA~T YES
:
TO P~INT
IC A lTAEHENT X.
BUFFER.
NUHBER
NO
ST~K~~NT
T~
PRINT
IIUFFER
. .. J4.....
f'
i<
ACCESS:
:
MESSA E
X.
SKELET N .
: ................:
AN
~ lC.:
H~!SAGE
SKhETON.
: ............... :
M
T
U4r
~fkgE:
I(
IN
J(
R liT.
: ~~~~U.....:
PUT
T
OIAGIIO~VIC
MESSAGE
.............
....
: (~
Kit
WAS
,~~.:lAStH~~TR.V
.:*~;~.)(:Oft.:
IN CHAIN
*0
*.
87
Chart BW.
"'BN '"
'" AI'"
ic
'"
'"
:
RELEASE
AN~H~~a~EO
'"
'"
:
"'''''''''''''81''''''
.'" ...............
RELFASE ALL
"'ACTI VE TEXT AND.
DICT BLOCKS
"'
ic
"''''''''''(1''''''''''''
'"
FREE
ANV
'"
OUTSTANOING
SCRATCH STORAGE.
...."'......"'..."'..
'"
.. "'.
K
. 01
"''''02'''.'''.'''''' '''''''''
*.
",:"'C~~~3unON:.~~ x
s~~b~~
~ *.
'"
.*.'"
*
"'."' "''''.'''''''''.
...
'" YES
.AA
"'."'.El.
: l~gs~v~~a~A :
... .............
"'
.
..........."'.....
X
F I
RFALLnCATE
TF~T ANI')
nl(T BLnCKS
.,.
GI
..;
GZ
*.
IK
YES
*.
.*
**.
.**
~O
.
..................
.....
..
ic
.."'.Hl
SF.T UP
RFGION
CI
61
88
1( co '
OPEN
SPIll FILE
It
.....
...
HI,
Table AS.
r-----------------------------------T---------------T-----------------------------------,
I
IMain Processingl
~
I
Statement or Operation Type
I
Routine
I
Subroutines Used
I
~-----------------------------------+---------------+-----------------------------------~
IInitializes switches for compileIADRP
INone
I
Itime processor
I
I
I
~------------------------------------+---------------+-----------------------------------~
ILoads phases for compile-time
IADRP
ILOADX (AA)
I
I processor
I
I
I
~-----------------------------------+---------------+-----------------------------------~
IDetermines whether Phase BC should IADRP
INone
I
Ibe
reloaded
L
_______________________
____________ I _______________ I ___________________________________ Jt
~
89
.Table AS1.
Phase AS
Routine/subroutine Directory
r------------------T--------------------------------------------------------------------,
I Routine/Subroutine I
Function
~------------------+--------------------------------------------------------------------~
I
I
I
I
I
ADRP
BCKUP2
CHBLK
Changes currently busy IVB block status and gets a new block
CLSBUF
COMENT
ENDIVB
FREVAL
GETIVB
Removes an IVB from the free chain for use by the calling routine.
GNC
HASH
INCTST
INPUT
Reads in an input record from the source data set or from included
text.
INRD
Reads physical records from the included data set; unblocks and
sends them back one logical record at a time.
NXTTXT
OUTPTC
SRHDIC
STRING
TOKSCN
UPNEWL
YAG2
l __________________
90
I
I
I
Loads processor phases for the compile-time
processor.
__________________________________
__________________________________
JI
Updates temporary linecount slot.
r-----------------------------------T---------------T-----------------------------------,
I
I
IMain Processingl
I
Routine
I
I
I
Subroutines Used
~-----------------------.------------+---------------+-----------------------------------~
INone
I
I
I
~-----------------------------------+---------------+-----------------------------------~
IINIT
I
INone
I
I
I
~----.-------------------------------+---------------+-----------------------------------~
IINIT
INone
~-----------------------------------+---------------+-----------------------------------~
I~nters
IINIT
INone
~-----------------------------------+---------------+-----------------------------------~
Table AV1.
r------------------T--------------------------------------------------------------------,
I Routine/Subroutine I
Function
~------------------+--------------------------------------------------------------------~
IINIT
I
initializ~s
the com- I
,
IWWN048
,
IAllocates the push down stack (to be used by Phases BC and BG) from I
Iscratch storage.
,
!WWOVLP
I
I
IWWOBCD
IIWWCHNBEG
I
I
iWWMOVEIT
I
~INCLUDE
~LABELS
I
I GOTO
I
IACT
I
I ELSE
(BC
I
I
I
IINCLUDE Processor
I
ILABEL List Processor.
IActive/Deactivate Processor.
I
IELSE Clause Processor.
L __________________ i ____________________________________________________________________ J
91
Table BC.
and Translation
r-----------------------------------T---------------T-----------------------------------,
J
I Main Processing I
I
92
.Table BCl.
Phase.BC
Routine/Subroutine Directory
r------------------T--------------------------------------------------------------------,
I Routine/Subroutine I
Function
I
~------------------+--------------------------------------------------------------------i
ADCONS
ADDSP
Adds a
ADICT
Adds a normal item to the end of the appropriate hash chain and
returns the dictionary reference.
ADPROC (BF)
ASSIGN
CHECK
Checks back for undefined labels and identifiers not declared withinl
the block.
I
DECLAR (BF)
DELETE
DO (BE)
DONE (BE)
FINDPC
IDSRCH
processor-~reated
IscanE; source text, character by character, searching for macro perIcent character.
IF (BE)
IF statement processor.
:KYWDSR
PARSE (BE)
PIF4
PHlSCN (BE)
HETURN
STB3
STMT (BE)
~rOKEN
UPDLIN
l __________________
I
I
I
I
I
I
I
I
Generates
an update linecount instruction.
__________________________________
__________________________________ JI
Note: See also BC Subroutine Package in Table AVl.
93
IPH2SCN
~-----------------------------------+---------------+-----------------------------------~
IRecognition of an identifier
\PH2SCN
I OUTPUT, TOKSCN, SRHDIC
I
~-----------------------------------+---------------+-----------------------------------~
\Recognition of macro action
IPH2SCN
IOUTPUT, TOKSCN, SRHDIC
I
~-----------------------------------+---------------+-----------------------------------~
\Recognition of % character
IPH2SCN
I OUTPUT, TOKSCN, SRHDIC
\
~-----------------------------------+---------------+-----------------------------------~
IRecognition of other characters
\PH2SCN
I OUTPUT, TOKSCN, SRHDIC
I
~-----------------------------------+---------------+-----------------------------------~
ITerminates and cleans up INCLUDE
IPH2SCN
I OUTPUT, TOKSCN, SRHDIC
I
Ihandling
\
I
I
~-----------------------------------+---------~-----+-----------------------------------~
IRe-establishes scan at next higher \PH2SCN
\OUTPUT, TOKSCN, SRHDIC
I
\level text
\
\
I
~-----------------------------------+---------------+-----------------------------------~
IPerforms replacement on activated
IPH2SCN
I OUTPUT, TOKSCN, SRHDIC
\
identifiers
I _______________ I _ __________________________________ JI
L\ ___________________________________
~
94
.Table BG1.
Phase BG
Routine/subroutine Directory
r------------------T--------------------------------------------------------------------,
I Routine/Subroutine I
Function
I
~.------------------+--------------------------------------------------------------------~
CLOUT (BJ)
CONVRT
DACLN
DAEOB
DAEOBF
DAIDEN
DAMAC
DAOTHR
DAPENT
DAPRTC
I~UNCTN
(BJ')
GETDIC
I
I
I
I
INTPRT (BI)
Interprets the macro code generated by the Phase I scan.
I
I
Handles the output of tokens.
OUTPT
I
I
Scans text blocks.
PH2SCN
I
I
Pops the top temporary off the Phase II stack.
POP
I
I
PROINV (BI)
special entry point to interpreter for invocation of procedures
I
found in source program text.
I
I
Pushes next available temporary onto the Phase II stack.
PUSH
I
I
PUNCH (BJ)
Punches down output record, in source code, on MACDCK option.
I
I
Synchronizes linecount, closing buffer if necessary.
SYNCH
I
I
'I,'PEEK
Scans for procedure reference argument list left-parenthesis.
I
I
ZAASIGN (BI)
Performs identifier assignments for INTPRT.
I
I
ZACOMP (BI)
Performs all logical comparison operations for INTRPT.
I
I
ZACONCAT (BI)
Performs string concatenations for INTPRT.
I
I
ZACVT (BI)
Converts stack items to required type by 'RETURNS' attribute.
I
I
Z,ALGCL (BI )
Perforrrs all logical operations for INTPRT.
I
I
(BI)
IPerforms
stack maintenance for INTPRT.
LZAPUSH
__________________
____________________________________________________________________
JI
INCLUDE control routine. Opens DCB, finds member, sets up buffer,
and initiates look-ahead read.
INCONT
95
r------------------T--------------------------------------------------------------------,
/Routine/Subroutinel
Function
~------------------+--------------------------------------------------------------------~
IZARlTH (Bl)
IZATRAl (Bl)
IZATRAN (Bl)
IZJSUBS (BJ)
96
I
I
I
I
I
______________ JI
Table BM.
r------------------------------------T---------------T-----------------------------------,
I
I
IMain Processing I
I
Routine
I
Subroutines Used
~-----------------------------------+---------------+-----------------------------------~
IXA
I
INone
I
I
I
~-----------------------------------+---------------+-----------------------------------~
Table BMi.
r-------------------T--------------------------------------------------------------------,
I Routine/Subroutine I
Function
~-------------------+--------------------------------------------------------------------~
IXA
XAO
XAOi
XAi
XA2
XA4
XA7
XA8
XA9 (BN)
XA12A
XA30 (BN)
XA32 (BN)
XA35 (BN)
XA40 (BN)
IXA50 (BN)
IXA70 (BN)
I
I
IXA90 (BN)
I
I
IXAii0 (EN)
IZUPL
a line on SYSPRINT data set.
L
__________________ IPrints
____________________________________________________________________
JI
~
Table BW.
r-----------------------------------T---------------T-----------------------------------,
I
I
IMain Processingl
I
Routine
I
Subroutines Used
I
I
~-----------------------------------+---------------+-----------------------------------i
97
Chart 02.
Al
...x
CHARA~TER YES
1t8
.. ..
*-.-.-.-.-.-.-.-.
WR :
A2
.lt8-CHAR
8X
.................
OpnOl'
'l K:
NO
6&0~~Ulc
SET
x '"
:n!:!Hi:::::~!i
LIST IF REQ'O
ANO CONVERT TO
:~~U~~:~.~~~~~.:
...Cl.
X
~H~ K
FOR
L G o
A~ RAM
END
:!;~:~Hi:::::g:
SCAN TEXT TO
ANALYZE SYNTAX
OF STATEMENTS
..x
._._._._1_._._._.
E1 ANY
:;~~U:;,~:
ALLOiAT~1
YES
OECLAR J
LL K. SCAN TEXT TO
.ANALYZE SYNTAK
STATE toN s.t
OF STA TE IIENTS
.. ..
..................
NO
X I I
:H;~Hi:::::~~:
.MAKE CHAlNl pF
:cUtocOE~Lp=O~
,J.
"3
98
cbart BX.
A1
8X
A2
x .,
r,. to
ft.
0 0
~.
0 0 6 . C ft 0
~."
CI
8A1 A1 .:........
......... .................
,.
II
81
12.......... .
8A70
It
A9XORO
ONE
.,
N AR
YES
...111
NO
K
.
CI'
t.
8A2Zl.t~~~..........
.00 ...... :
SURT
YES
.. OF C~~"fNI
~~
R ~'.
NO
K
".
IJF
01'
Ji!10
.,.~~
*.
~I!T
ArPRyPRIATe
WI CH ON
it
:
8A2i'.2~~~..........
YES
111,..
:
IC.
C~T"ENT
NO
~I!T
' ,
:
ic
4t-
POSSIRLf
K~V~RD6R
.*...
ell'
*.
.1)t~gM~A.".
El
YES
" , ., ... K.
..
~NO
F
" Rf ORO
*.
1'3..
NO
SVH80L
.*
.:.
G3..
.. ..
*.
PERIOD
.~
n'"
.....
ic
HI..
N~XT
YES
R'E' nRD
III EIIOV
IN
NO
..
.,
JJ
1Ir.
IS"'.
IT lAST
RFCOII(l
N,l
*. *.*
....
VFS
"'
x)( ""
H3 .*"
tIoHZ
X.
II(lTJUST
FM:T
IN CORE
*'
"'."
It "
CI
AI
....
CO".""
.. ..
.,
..
.. ..............
.....x....
"'
A;>
.HII.
~V A
p~'nr)l)
." ."
."
J4
.,
," *
'"
.........
)(. A2 "
C *0
AAzr J~
.,
*. .:.~~ )(:
IlIGIT
r
**
RF~~A('F
SFMT-COlNI
'" VFS
......
.
.......... ....
..
. ....
x
'"
117. '"
11 1(4"'""' '"
IG"IORE
0:-
.. VF ~
*C' *0
...
................
.
, K.
~
n
X. all
. ; . FOk~~FO
'"
lIa
, . co'"
f'nt.l.'lWE:l *!' ... N l .
YES
. . . . . . . . . ,X..
ClllON
It 0 Il 0 " " . . .
X
J,
IGNORF
..
Nl1
"In
RE~bACF.
................
....
!lilt
K
....
.. AZ
*1"
*e."
114
*.
.. .. ..(I.
it
811A"
AA"~ G5
G4.,
NO
:IIA'ltI
ic
~I.GI.
:
WR~TF
:
9
u K ING
S~URE
....
....
111
81111"'*F"
REP~ACF.
OPE RATIlR
NO
K. 112
YES
*.
IG"fORE
.~
....
,,*
" , S .
ST I~..
Fl
. oe
E4
IN
~OMMINT
[r,'lnRF.
"
l(.
A2
"'.0 "'
99
cr.
chart
"'''''''''''''
"'CI '"
AI'"
'"'" '"
'IOTEs
RSTART
X
f~~~~2~AnE~A~HOoRI~S~~\;:E~~V~EP~~~hHoJF
"'''' A1 "'''''''.'''''''''''''''''' IS NOT SPEC I FI EO
'"
'4AI'I SCAN
'"
'"
OF TEXT
'"
'"
'
"
."'..... .
B1 K.
~x
0 . , , , , , 0 tllJ 0 0
n" 0 . . . . . . . 0 ~
o. en
0 ........ :
POPLS T
",BleST'.
:~~~~~~t:~~;:
FOR LAB EL OR.. YC S
AND/OR PREF
PREFIK
X. OPTIONS IN
OPT! ONS
01CT I ONA RV
...
.................
* . . '*
"
NO
Xe
HEAD
STATEMENT..
....
"'. ..
\'1&
"':2 "'.'"
................... ."'..
"''''.
K.:BLA~R~A8jOR:
LEV~L ~OIJNT J(. E2
81' 1
'"
NO
ST!O
END
01
..02
: . . . .~l::"':
I)~ T..
:
.'"
TEST
"'. YES
TEST
YES
~~~OR
IF t~V"L
FOR
X..
FOR
,11. ~ ~f~ COUNT
is "'. 'In
KEVWORD
'ENO'
!itER'EN'.
b X., col.Jtf
ZERO
Bt8CK
. "'. ..
NO
'"
ASS IGN
1'1
.......
.. ."NO '"
:l.. .:~!.u:!"':
E2 X.
x
:X
STATZ
.... ....
K
,.,
E2
.................. ....
NO
TRAN FER
STATEM~NT
TO
OUTPU TEXT
X. 81
)(.
..
TO NEXT
SE'MI-COlON
81
100
.0 *,
*. VI'S
END
INPUT
*.
.
"~O
..
X"'
.
,...
1'4
.*
*. OF
.*
....."4
"'..FISKI"'
BADST!
0....
.. ....
VES
: fnp~E~~t :
'!'
lC
:C\2:
:::::hart CL.
Xx
SCHA
0 0 It
,\3
.* . .
B2
..
...
x
..... .
.:
.. ..
:;OR UiEIFIC:.!;~ X:
KEYWOROS
PR~~~SS
STATEMENT
NO
X. F2
C2
*. *.
._ Cl
'1~0 S ATEHE~tx:
. o
NO
:~~~0~1~lL DECLARE.
I~EVERTf F.ASllGHr
I.OOB.
IIROC.
FOR OTHER X.
.St~TEMEN!i
:
..x
~l ~~
*.
YES
&gEl
.......
lern~l~EAs~~~~A~ijf
:Cil:
HO
F2 X,
BAOll F2.~........
:KU::JR5 ~~S~~ :.
SKI P T~T TO
T8 PHA$~ ~s IF PROGRAM
CArl. /IIo~
:
:
OUTIt' TIXT
HOTEl
....
....
. .......:
F~R
.i~'
NO
.
ft E2
TEST
TH~
STn~!U~~RTO
*o1.~........ :
x
oz..
TEST FORI
MARK
uo,:~~f~~.
...D
F3'..
eo
.1~
TEp
Er~~.
YES
I~
F4
TRANiFER
Shu~~uP:~~~~
:
.
I~
/110
BZ
F2
101
Chart CO.
Phase
co
81
SCAN2
.*
BI
.. ..
OECl..
82
.*
*.
B1.
*.
.. ..II
X.:
T~5~
.:.~~~ )(.:. (ilh~~~ :.~~~
Of CLARE
*..*
81
*.
NO
..... X:
. x.
Ie
IICOl
X
Cl
C2
TEST VI'S
: CHECKO~VNTAX:
FOR
)(. DEClARAT ION X. III
AllOCATE
OR
.)(
: ..~~~~~ll~ :
......
NO
01..
TEST
*.
c~r~
CAl~~: 02 *
YES
**.
.**
X:
PROCESS
sTln~ENT
'"
NO
EI
SCANT
F.2 .....
"'.
TEST
..
NO
~0~R8~~A~F
"'.
"'...
VFS
CS
B2
102
I(:..
TRANSFER
STI\TEME~T
.................
TE~ ~Vf~~~T
PROCFSSING
.................
NO
THEO(~U(ISI
chart
cs.
NOTEI
lNPlIT FROM PHAS E C lF PROGRA"l
DOES NOT CONTA1N 0 CLARE, CALL
OR ALLOCATE STATEM lilTS
..
:C~:
;x ........
SCNA
.:**.
92
*.
TEST
.:.:~~ )(:
...*
NO
x
C2
eflC'
B~
P~91f~~E~~E
('I
: :
III
)(
FORMAT
c ~
*.
.:. ~~5IM~~~ .:.:~~ . ~~~~~~\I~~ :... :
.. ...
NO
02'
*.
. : . T~M ~R *:.~?
PR OGRAM
*..*
YES
x:
.................
TRT~~ D3
. x:
III
sTI~~~~~~RTn
OUTPUT TF.XT
t .. :
CV
112
103
Chart
ev.
Phase
ev
Overall Logic
Diagr~m
..
cv
82
.x
0 f!"
SC'!A
82
.. ..
e elf e., c.
SCNZ
83
*.
TEST
YES
FOR
'" X.
LA8ELlS I
*.
.................
CI
PROCESS
LABEL'S I
NO
C2
NO
POAI
*C3
*.
....
TE ST
: ~O~pf~~P
*..*
n X:................
OP~I~NS
.
YFS
~~O~E~S
x .....
02
POCI
03
=O~EnEC: YES
:
~NOL~~~EC~
.. ..
X:
~F~rs!~~Y
.................
*..*
NO
S~n~~FNT
E2
TEST FOR I
ENTRY, PROC.
S~~l~kECALL
CHAIN
....
E4
YES
TEST
OI X : l~lFYI~t:::
:
..
'X:
~U~~~~~~
~~U~~
NO
F2
F~~SIN YES
.. ..
CHE KON
F3
:
T~R~2~~~1T :
.................
ON-STATEMENT .., K*
*..*
NO
*.
G2
G3
YES
oX.
PROCESS
END
..................
NO
H2
ENOl
*.
.. ..ft
.x..
e
..
TEST
FOR
END'
8Y A
PROC-ENO
*.
TEST
YES
*.FORPROGRAH
END OF
)(
*. .*
82
EG
AI
NO
X !) "
J2
.................
TRTSC
104
~~~~~~~~T
WlTtt:lUT
CHFCKING
: )(: 82 :
Table BX.
Phase BX 48-character Set Preprocessor
r-----------------------------------T---------------T-----------------------------------,
I
IMain Processingl
I
I
Statement or Operation Type
I
Routine
I
Subroutines Used
I
~-----------------------------------+---------------+-----------------------------------~
INon~
I
I
r-----------------------------------+---------------+- ----------------------------------~
I BA1
I Reads a record
I ZURD (AA)
r-----------------------------------+---------------+- ----------------------------------~
IScans text
IBA1A
INone
r-----------------------------------+---------------+ -----------------------------------~
IBA5
INone
r-----------------------------------+---------------+ -----------------------------------~
IBA11
INon~
r-----------------------------------+---------------+ ------------~----------------------~
I Replaces comma-dot by
Iwhere applicable
sE~mi-co.hon
I BA20
I
I None
I
I
I
r-----------------------------------+---------------+- ----------------------------------~
I BA25
I None
~------------------------------------+---------------+-----------------------------------~
IBA30
INone
r-----------------------------------+---------------+- ----------------------------------~
IBA40
INone
r-----------------------------------+---------------+- ----------------------------------~
IProcesses a slash
IBA50
INone
~-----------------------------------+---------------+-----------------------------------~
IBA70
I
INone
I
I
I
r-----------------------------------+---------------+ -----------------------------------~
INone
I
I
I
~-----------------------------------+---------------+-----------------------------------~
105
Table CA.
r----------------~--------------------------T--------- -----------------------------------,
Function
Subroutines
~-------------------------------------------+--------- -----------------------------------1
Table CAl.
r------------------T---------------------------------------------------------------------,
I Routine/Subroutine 1
Function
~------------------+---------------------------------- -----------------------------------
ACONST
DECINT
EXP
Diagnoses expressions.
EXPAND
EXPLST
IDENT
I
I MVCHAR
I
IOPTOR
IChecks for an operator and replaces the two-byte operators by oneIbyte codes.
I
I
ISCONST
I
I SINGLE
I
ISQUID
for a valid subscripted and ___________________________________
qualified identifier.
I1
L__________________ IChecks
__________________________________
106
Table CC.
Ir-------------------------------------------T-------------------------------------------,
Function
subroutines
.-------------------------------------------+--------- ----------------------------------~
Ipasses
of the read-in phase
L
___________________________________________
Table CC1.
r------------------T--------------------------------------------------------------------,
Routine/Subroutine I
Function
------------------f---------------------------------- ----------------------------------~
CHAR
CHECK
KEYWD
MESAGE
NONEX
NULINS
OPTEST
PICT
Diagnoses a picture.
PREC
Diagnoses the precision, and the attributes and fornlat items which
use it.
ISOFLOW
L __________________
Table CEo
Bumps
stack pointer and checks for _________________________________
stack overflow.
__________________________________
_
r-------------------------------------------T-------------------------------------------,
I
Function
I
Subroutines
I
~-------------------------------------------+-------------------------------------------~
IProvides tables of keywords in internal
I None
I
Icode, together with replacement code.
I
I
INo functional code exists in these modules. I
I
IRefer to Appendix B for details of keyword I
I
Itables.
L
___________________________________________ I _________ __________________________________ JI
~
107
Table CI.
r-----------------------------------T---------------T-----------------------------------11
I
IMain Processing I
~
Routine
Subroutines Used
~-----------------------------------+---------------+-----------------------------------,1
Table CI1.
I RSTART
IASSIGN, BADST1, BEGIN, DO,
~
I
IELSE, BUMP, END, EOP, ERROR, IF,
~
I
ION, POPLST, PROC, READ, SIGRVT,
I
I
ISTAT2, STRING, plus those
~
I
Isubroutines contained in modules CAl
I _______________ land
CC
___________________________________
Ji
r------------------T----------'----------------------------------------------------------,
I Routine/subroutine I
Function
I
~------------------+--------------------------------------------------------------------~
ASSIGN (CG)
BADSTl
BEGIN (CG)
Checks the BEGIN statement and makes an entry in the first pass
stack.
BUMP
Advances the input Data Pointer (DP), skips blanks, if any, forcing
source text to be read into storage as necessary.
DO (CG)
Checks the DO statements and makes an entry in the first pass stack.
ELSE (CG)
END (CG)
ENTRY
EOP
ERROR (CG)
IF (CG)
ON (CG)
POPLST
Removes prefix options from the text and places them in the dictionary.
PROC
Scans the PROCEDURE and ENTRY statement and makes an entry in the
first pass stack.
READ
RSTART
ISIGRVT (CG)
I
ISTAT2 (CG)
I
ISTID
I
ISTRING
(CG)
L__________________
108
Scans
character strings.
____________________________________________________________________
J
Table CL.
r-----------------------------------T---------------T-----------------------------------,
IMain Processingl
Routine
I
I
I
Subroutines Used
~-----------------------------------+---------------+-----------------------------------~
Table CL1.
r------------------T--------------------------------------------------------------------,
I Routine/Subroutine I
Function
I
~------------------+--------------------------------------------------------------------~
BUMP
Increrrents the input Data Pointer (DP), skipping over clanks,
I
obtaining a new text block if necessary.
I
DELAY
I
I
DSPLAY
DO
Processes DO statements.
EOP
FREE
GOTO
ITDO
LABEL
OPTION
PROC (CM)
Analyzes PROCEDURE attributes and options, and completes the diagnosis of PROCEDURE and ENTRY statements.
RETURN
SCNA
L.TRTSC
__________________
I
I
I
I
I
I
I
I
I
I
Skips
over all other statements.
__________________________________
__________________________________ JI
109
Table
co.
r-----------------------------------T---------------T-----------------------------------,
I
I Main Processing I
I
I
statement or Operation Type
I
Routine
I
Subroutines Used
I
~-----------------------------------+---------------+-----------------------------------~
IScans for DECLARE, CALL, and
ISCAN2
IATTLST, BUMP, CALLOP, DECL, DEFIND,I
IALLOCATE statements. Analyzes
I
IDIMS, ENTRY, ENVMNT, EOP,
I
I syntax of attributes by calling
I
IGENRIC, LABEL, LIKE, USES, IVLIST, I
lappropriate subroutines
I
land those subroutines ccntained in I
I ___________________________________ I _______________ LImodules
CA and CC
L
___________________________________
JI
~
Table COl.
r------------------T--------------------------------------------------------------------,
I Routine/Subroutine I
Function
I
~------------------+--------------------------------------------------------------------~
ATTLST
Processes an attribute list.
(Recursive)
BDCL
BUMP
CALLOP (CP)
DECL
DEFIND
DIMS
ENTRY
ENVMNT <CP)
EOP
GENRIC
IVLIST <CP)
LABEL (CP)
Analyzes LABEL
LIKE
PSQUID (CP)
REFER <CP)
SCAN2
SCANT
attribut~.
I
I
IProcesses
the USES and SETS attributes.
L USES
__________________ L
____________________________________________________________________
JI
110
Table CS.
r-----------------------------------T---------------T-----------------------------------,
I
I
IMain Processingl
I
Routine
I
Subroutines Used
I
I
~-----------------------------------+---------------+-----------------------------------~
ISCNA
Table CS1.
r------------------T--------------------------------------------------------------------,
I Routine/Subroutine I
Function
~.------------------+--------------------------------------------------------------------~
I
I
I
I
I
I
I
I
I
I
I
EOP
FORMAT (CT)
GET (CT)
LIST
OPEN (CT)
READ
Checks the syntax of RECORD I/O statements READ, WRITE, REWRITE, andl
DELETE. This routine also checks for permissitle combinations of
I
these statements.
I
SCNA
TRTSC
I
I
I
I
ISkips over all statements other than I/O, moving them to the output I
Main scan of this pass.
Itext.
L. __________________ L ____________________________________________________________________ J
111
Table CV.
r-----------------------------------T---------------T-----------------------------------,
I Main Processing I
I
Routine
I
I
I
Subroutines Used
~-----------------------------------+---------------+-----------------------------------~
Table CV1.
\SCNA
I
\
I _______________
r------------------T--------------------------------------------------------------------1
I Routine/Subroutine I
Function
~------------------+---------------------------------- ---------------------------------_.
CALLIN (CW)
CHAIN
Forms chains.
CHECKON
DECL3
Do3
END3
ENTRY3
EOP (CW)
ILABSN (CW)
POAl
POCl
PROC3
SCNA
SCNZ
ITRTSC
IL __________________
112
Chart 03.
Flo~chart
03
AI'"
A3.
.-.-.-.-.-.-.-.-.
BCD-OICT REF FE
.................
: X:
81
................
X
C~~~fo2lRv TO :
REFERENCES
.-.-.-.-.-.-.-.-.
8J
.CHECK
Fl.
.................
REFERENCES
... -.-.-.-.-.-.-.
it
'Cl
.OECL PASS 1 E I
.................
j*..*-.-.-.-.-.-.-
;;
03
.-.-.-.-.-.-.-.-.
.................
Ol
[lECL PASS 2 EK.
.ON
j . . . . . . . . . . . . . . "'
it
X
"J
...
-.-.-.-.-.-.-.
:iii~Th~ T6l~a~~:
j El..
COMMUNICATNS EP.
ACC TO FLAGS
FO
.CONSTRUCT OICT
ENTRI ES FOR
ON-CONDITIONS
:~l~~ ~~l~/~~~N:
REPLACE BV AN
.................
:E:~~R snH~~~~T:
.CONTNG A OUMMV
0ICT REFERENCE.
F3
j' Fl
SCAN ENT TVPE 1.
CHN MAKI NG ENT
1'VPE 2 I: 3 OICT.
ENTS FOR DATA
VVP RET BY PROC.
..it
.. ..
NO
x
... Gl...
SCAN CALL
.HOUSEKEEPING FT.
................
.................
.CHA I N VAR UBLE S
OF FACH STORAGF.
.CLASS I: CONSTS
EXTERNAL ENTRV
NAMES
,~
HI..
H2
OOES
.LlKf
EW*
". PROGRAM YES
"CONTAIN LIKE X.SCAN LIKE CHAIN.
::TRIBU:~..
:LIH~~~OstkbcTS:
.-.-.-*-*-*-.-.-.
'.
...xx......
Jl
::ttbtH~
~~:
".ltLOCATE ~~ YES
.-.-.-.-.-.-.-.-.
"'PTR. QUAL I FI ER. * X.COPV DICT ENTRY
:8~A~W~~RA~l~:
I~. PROGR~:..
* *
NO
....H3.
K
P V~l3:~O~ND
:
.DIMENSION TABLE
OICT. ENTRIFS
.................
.....J3..........
it
::~~.~l~~~:~L~~:
.................
.-.-.-*-*-.-.-.-.
..*
* *1<2 .. *
CONTEXT
FA.
MAKE OICT
ENTRIES FOR
.SCAN TEXT. MAKE X*CONSTANTS
USFl
ENTRY F(lR COtm
.1 N THE PP.OGRAM
NAMES I: FILES.
'"
*................
........."'.......
.:....J4 ..........
ADj~~f~~~E
:
.AFTER ALLOCATE 00, 00X. E'I(T~~TS ON
PROC OR BEGIN.
"'BASEl) VhP.UI:ILfS.
STATEMENTS
... *.
~
to
it
K1.*........
0 ., . . . . . . . . . . . . . . . 0
:()I~AJ~T~tHN~OR:
'" NO
.................
G3...
.-.-.-.-.-.-.-.-.
it
*.
*-.-.-*-.-.-.-.-
F4
ANY..
.p I CTURE
FQ
PICTURES YES
IN THE
X.CHECK VALIDITY
PROGRAM
OF PI CTUR E
CHAIN
..................
...x
00 O i l . "
K~
.................
*
* *K4
.'" ATR
LISTINr.
0nnroO'.X
..RFQlJIRED
*. *.
.....
..
:lu~*.*
P~I NT ATP,
ANO/r:lR XRFf
LISTING
*****l1li*
!(tift:.
NO
*n4
fl1
'"
**
.' 4 '"
.. !ll'"
,.
113
Chart
E~.
.....
...
~iag~~m
'''G
A4
.....AI.i
~:U'tkll'
.................
A ..
EfIITR'I'
'Ii.a........
.B...
CAAL. . . .
S
:It'
AfilSH RTnU'b
H~bilSt:
"OVE
SUBRQUT IfilES
: IfIIToc~~~nCH
:.;Intl th:
i.
:
K
CAT CI.:
... ~CAN
PR -BEGIN
HAIN
:
01 '
.
x
....
02
02.1........
cO~~~~
01
CAP~~
CFO~~ ~~..........
CT'I'~2k [)............
05
YES
:
GE ER T E :
:PAai EltRR"rh :
:SCr~T~TlRJI~E :
:
f~r~~
'.
PROC
x. ENTR~ TOPE
11.
~l'.~E ......... x. ~NfiY Tt~f 2 X. ENRY ~I~T
:
: : F~~T~I~~ 1 :
:STAT a5NtHtABE :
:
ENTR E
:
AM
' '
i , . . . . .
~.
..
NO
El .
....
'.
.'
ft
.'.
:'
....
'. ..
BEGIN
NO
ft
..... II:
ENTi~ENjE
: ,,:
FNTR~Hn~E
"5
~
UPDATE
"AP~TACk
I",
: h~~I~~ :
Nonl
'EI' 99 Et
'. ,.
..E3 .
....E1...........
..
................. ...................
CABA
:.~~!
TO PHAi E ~P
....... 3.!
beCL~UEs~=h~~NTS
ic
TVPW
.1'5
SCAN
: "r,~UEK :
EfilTRY CHAIN
J(~
......
01
III
G5
It
NO
"
I)
tI 0 " f'
*..*
.'.
*.
'0 *t'
E... TR Y
.,. 0 .II
YFS
ic
02
114
II
Chart EI.
..
Diag~~m
EI
A2
113
M.
:
..
liC ~
ic
o 8~ ..........
.
'CCGS!:
C
NE:t KNV:v
IN OEJLARE
CH~IN
CCGS2
.
:
...0 . . . . . . . . . . . . . . . . ..
..113 ....
CO~I~NU~
OE~LARA9 ION
. '.
Ci
~~..........
. ..
..lC: BV~r~CJAk
PAR~~~~~~FS
:"'i<
LA~'('R ~HA9ES.
02.!. '.
03.......... ..
~a~
.A~~HgM~s
NO
CCGSAT
CCFlP,C~FRP
YES
..i........,...... .
:
". YES
:
p~~R~,Ir-~~~
TEST
,JC.ATTR UTET
'.
ASSIPHA tATE
'. .
NO
:
:
JC
i...... .
.
r .
:UU'
GENTRV
.. d~lii
'.
NO
..
~
P2
.. ..o.
....
.,. NO
' TE~
P
'.
E!'fO F
JC' B3
' . DECL RE
YES
.CSGSOn
o
GiE ST
*.
* *
YES
115
Chart EL.
Diagc~m
ECH1~~ Al.!
: pl~PllLn&.. :
f~ ~~=E"
.................
SCA~~81.i
.
..
K. OFSCAN~HAIH
PR EOURE
SUT ENTS
., ................
.
....
.
.
81.
C1..
.. ..
*.
SCA~~
END
NO
OF CHAI'"
K.
YES
*C2..........
. .
*..*
....
f"'l)
YE S .
DE LAR
K.:
OF CHAIN
: K. B1
TATE ;ENT..
.................
.*..
C3
~AN ~HAI~.
"'0
D2..
YES
CDCU~.*C].: ...... ..
VP FN~:T :
o~~LIRlho,..
LIST
Plh k
NO OF NO
:
OE~lARATIO'" K.I'"
L I S T . .
*..*
OCIOPR
ic
.F3.
O~C~OE
IS~NI~I~~
ULSCN
K
F3
APPLY
ATTRIBuns IN
UTE
:
: Uan
.
..................
X
CDFATT
G J
FA~~~k~
ATTRlflurFs
.H3 .
:
114PATT
..
APPl v
A~~P\;~~HA. T
.. .............
..
"'."'
rfllCEN
'"
'4AKF
DICTIONARV
FNTRY r"lP
Iflf"lTIFIFR
..
.................
,$
116
IITTRIBUTFS
chart EP .
EP
A1
Diagr~m
NOTE I
...B1..........
X
EPL2t:'
B?
.... RZ..........
LBPROC
:
FIR~~ I~TRY :
:
IN
1(.
ENTRY TYPE 1
CHAIN..
.................
....
rc
...83..........
.................
., ..
.................
~~hU~h
:.X o . "
03
,~
"' "'
",
f'
0 _I 0
It ' ., It 0
lit ., (!o
(I
''I
GO Tn OICT
FNTRY FOR
NEKT LABH
eo
04 "'''''''.'''''''''
0 .:
0'5
...."'' ' ' ..' ' ' ..' ' ' ' ' '
"'. '".'"
JII..*
*.
F.I
"',
YFS
..". B2
)(
"'.
NO
,.
o..."'.
."'.'"
"'.
.,X.
E1
.~"'..
"'.
.'"
0 . . . . . 00
'"
,~
R5 ........
.................
YES
XX e
'~ 01 ".
OF START OF
CALL CHAIN
oo." " o ft e
EPLI''':
B4
GO TO OICT:
:
CF~1~~~P:
' . LAST . ' NO
:
ENTRY FOR
......... 1(. TYPf 2 AND
".o..X.,
LIIREL
" ..... K.
FIRST LABEL
. " F NOT.
.,
HERE'.
EPL6('O
~.~.o."
ic
FPL 15
."'.
."'.
.0
'"
COICEN
."''''.'''F'5''''''.''' ''''''.'''
..'""''''E2.''' ''''''.'''.''
E3
"'.
E4
. '''' END .'",. NO
:
o~a~OT~y:
.'",. NO
".i6F.NPF1~:"" N,)
:MAKET~~C~l?~tIW:
"',
OF CALL
"' lC'"
poA ~HE
.......... K"',
KNOWN
,.,11:..
BIJIL t- N
"'." , .X. F)~~At)L T ~L~S
CHAIN .'"
'" lOF.NTIFIER
Cl
"'.
"',FUNCTION".
'" FOR DATA yO'!:.
*.
epl.'4C
YES
*...
"' '"0
.0 . ,
YES
.i,
r3
IS
NO
.,
CALL
...........
VAllO....
"'. YF.S
EI'L 11'>"
*"'
'"
X ......
1;".....
R~PLf.CF.
0*
""
:
GE~~~A~F.
:
X.
'4ElSAGE
: I Ni~~FR~UI1~Y :
"''''*.~
.....
r: PL 7. 0 '
0 0 !lY.
nrc' lnNARV
l'.:Ht~C'(.
RfFFRfNCr:.
.................'"
,.
YB
"'
F":
:
EPL 3~"
ic
II1'PLACl'
BY
er.n
..*"'O~~H~~~H
..
r.4"'
r.FT TFlIT
RF.HRfI'ICF
(')F ".r'Cr
.X:).o.o fJ
ITE'" IN
CALL CHAIN
........."'.......
x
.
1'1
***
117
Chart EW.
CEsl~ , 1.!
:s~a~ ~fil.l9NARY:
WI TH SAME Vc8
01
02..........
. . . . THli A NO
: SET
VALfD
oIC.
.'l!RUC u~~..
:
"
P ERROR
~OOE
~l..........
EWERNe
04
0.. .0
EWElD",
i 05
P
:
:
d C~TH::
THM A . ' . . NO
:
lH!NT=6 ~~ :
11. WliH ~HE ~~Ke '(..
"DR
11. INTO ~RATlH.
: :
ATTRI au ~
:
II
:
AOSA ~Hut. T :
l8
!!R TURi'
.................
ill'
YI'S
"'
YES
: xi
EWC~PY
EWNOLK
:
E1
OR G NA
STI TV~f
EWOROM...
..
TH~..
Fl :
.0NO, 11..~i
E E ~t YES
.C PY Til. T E '"
OIM~NriONeo
~LEM~NTJNro
M
~laN~6;...
.
.
: S RAT H :
.. ..
.................
.. ,.
YES
1(.
NO
....
.
x
J2
.G1
. .
~
:ewcopy
.COPY TIIUCTVRE
: ELE~~~lr~~ 0 :
.................
.
.............
...Hl..........
..H?.....
x........... .
:eWINCH
........
.........
..
FORW1RO ANO
HASH CHAINS
...
l!
...n
1'1)..
THi!..
THE ENO YFS
fJF A .. ew
STPUCTUR.'"
*. *.
r O~~cE~J~y,
nl"ENs~nNS
PR~~F'IT
...
..H
IF
...
J2
.....
THis
*...
*. ,..
...........
'10
'"
'"
A1
.0
~
)(
118
................
.
....
... ....0 ..
"'.
J1 ".
.lI . . . . . . . . .
:.~......
EWElO"
: rN~W; 8~~ITE :
, NO
o.
,..*
J4
F.NO OF
*.
VE C ; .
**.
.**
..
.*.*
Jl :
"''''.k~''' '''.
NOTE
........
IEMf'f
X
'~AI
RfVfRSF
:
s5~r~~E:~LE
Diag~3m
Chart EY'.
~~:~~
FROM PHASE E P OR
EW (OPTIONAL!
.. ...............
it
EY16
'111
SCAN PROC
AND O~CL ARE
CHAIN F~R
AllO AT
STATEMEN S
..,...............
" tI
..
XJc
leM~~ C2 0
CI..
".
.,.
eND OF
y e s .
CHA INS
X.
X.
. ..
02
Il.
O~
.. ..
*..*
:.~~.:..
.*
III.
E2
..x
*.
.. ..
EYl4
0 . . . . . . . . . . . .
.................
NO
:
OPY
:
~~R VAil. W,VH ){.VARIAiLES O.E
THIS PTII.
YES
..E3R... .....
. ....
X It e
OFE~fxT
*.
r;eX&~MAe..
-...
NO
it
IF TEM IS
STRUC URIJ.C~CI(.
ON I t~
O~~LAR T ~M
QuaLIFiER ,........ X
.. ...............
:r.'~CR
it
..01.it
: EY17
..,... E1
n :
...........
,.....
(lX C2
(l.
(l
..0..............
NO
:EV21
o.
SCAN TEXT
.*
YES
.:.,
REPLAC! PTR.
AND VAil. AeLF . . . . . )!. C2
'N TE XT Y D.
'
NOTE I
B:K: :
MOV~U
g'HI8~t:~ K~J~~ENCE
Gli
.COpy NV ~E~ONO.
.F I LE STAT M NTS.
ASSOCI A E
WITH
:)lI.~~~~~~~U~~ :
119
Chart FA.
FA
A2
...... .
Al
Diagr~m
NOTEI
.AZ
CE32
X
AI.
:
F~8~EI~~~i :
TO
..............
BI x.
CE31
X
BI
: T'~~P p8Y~~'
AND CALL
CENOTS
CE300
X
B2.
:B~l~~ ~:v~E~tST:
X.TRANSlATE BYTE.
AND EXECUTE
TRANSFER
.....
..
......
x
B2
X
c I
CE30
BUMP INPUT.
TEXT POINTER
.. .
x
CI
CEINT
F I
CALL CECON
CONSTANTS
ROUTINF
CEI SUfi
GI
MOVE SUB
AND BINARY
CONSTANT
TO OUTPUT
.FZ
CEKFY
PICK UP KEYWORD.
IMN~~~~5h
.................
RELEVANT
TRANSFER
CE2~ F3
:~~~~ ~~EL~~H
FOLLOWS.
SWITCH
..F4
:
CEBNK
CFL:,~~:~5
..........
.FOR ( INCREASE
BRACKE T COUNT.
FOR I REDUCE
BRACKET fnUNT
IF VALID DICT
.REF "lOVE TO 01 P.
~H~ ~a~K THR :
NOH lfRJ !lYTE
..................
Gz
.................
CEOIIA)(
TEXT UNT I L
. . SIGN I S FOUND.
.......
x.
.*Hl. *Hz.....
.................
. ................. .................
x
H3..........
CEKPFR
CESMCL
CLEAR FLAGS
AND
COUNT
fI~ACKET
GO TO PIC TURF
ROUTINE
IN IEMFB
MOVF
S~~~~P~~
QUALJ FIFO.
HAME
x:
MOVF
81
it
HIt
CEKSN
HS
.STORE RELEVANT.
STATEMENT
.NUMBER MOVE SN
FTC TO OUTPUT
TEXT
....................... .................
....
.
.. .................
1~5Nbb~~~~
BLOC K
: .
Al
CEKPRC
*Jl
UPDATE BLOCK
LEVEL AND
:COg~hA~~A~~~P :
.J7..
..................
CFKDC L
nUTPUT Tfl(T
.
X
K2.**
.
0.1(0
SKIP I"4PUT
POINTER TO
SE"'ICOLO'4
.................
.....
it
.....
Bl
120
CEKCEH
.J3
..
BUMP
..
I HPIIT POI HTER ..
OVER CHAIN
..................
CEK I no
CI'~ON
JIt.
UPDAT E BLJCK
A'In COIJ'4T
**
..JS.
.MOVE ALOCK LEVL.
CJU'4T ANI' ON-
*CO,., TI') DIP SFT.
:g~N~H~o~I~bNg~:
. .K4. *1<5
.................. ................... .................
:tKF.118
K3
GET NFl(f
flLOCK
IN CHAIN
CEKEOP
CF.'IOTS
UPI1A TF END OF
TEXT RFHRE'ICE
RF.LEAS~ I~PUT
'" AND SCR"TCH
..
****
.FE
.'11
'"
GFT NFW
TF.~T ALnrKn
:HFCK T~XT
'lOT LnNGER
THAN BLOC K
Chart
FE
.....
FE
A1
it
A l .
GET START
OF
TEXT
x
x
.. ..
*..*
.....
.................
.................
-.
.. ..
END
:MOg
12~1
.................
...02..........
.. ..
ING BLOCK
:MO~ 6MIG~;NT
..."'.............
NO
.. ..
*.
OICT
REF
.. ..
*..*
.. ..
ENTRY
FOUNO
.i:NU.,oO
to...
BH~hT :.:~~
.. ..
..
G2
*e
.. ..
ARRAY,.
NO
III '"
.................
AOO
X.:~lt~F~~~I~8~:.:~~c
fl,
*.
<) \:
co ...
(I':
OUTPUT fFXT . . . . .
I(
.................
n'"~.TO
~.
..
(;"1.......... .....
G4
... .............
sb~~t~jpT:
.................
o ee "el'll'l&.It,.r. ft~;~; o
.. "'X:
III"
F4
UPOATF.
INPUT POnlTER
OVER IICO
CELP
DICTIONARV
I'IIITRV
YE S
11 til O.
.................
*..*
.................
. '"lAKE
NO
0oX.
CEPFOR
F4
*.
" 3 . . . . . . . . . .
YES
UPDATE
X. INPUT POINTFR
OV ER KEF
.!.
E3
CEnDRF
1'2
NP
GI
o.
1(..
: x.
.:.
SCAN.
OICTIONA~Y
'.
.................
NO
1'1
L ANO
CEIO
E2..........
*.
"
YES
IDENTIFIER . . . . . . . . . . 1(.
'.
*.
C AFTER fOENT
flYTI'
EI
CEKON
YES
Re~lT X.INSERTING
NO
"'. STATE~NT..
e.
~MI5~~NT
A.... O X.
X.INSF.:RTINGL
C OF CONTAIN
01*s x ..
OR
B3
VUMP
INPVO ~~~~TER :
STATEMENT
CEK~=~ ....C2..........
YES
.4'
00)(:
BY 1
\1. . . . . . . . . . . . . . . . . 0 01 It
C1..
4_.
NO
INPU'u~gINTER
CEKPRC
!I~..........
."OVE
TATEMFNT.
:.:~~ X: TgMln~~'
: .......
L ANO C .
P~~812R
.~...
A2..
Bl
,~.
,1\2
x oOOO.,ftC00,.,,,eo
cn,'
:'~
Diagr~~
MARKfR I N .
OUTPUT.
.......
F,~~H~~ OR
PSFIJfln-VAR
"II\RKF R
"'
: :
X. A2
it
..
HI..
CEKEOP
-.
...EOP
III.
1110
A2
lit-
H2
H'
*0
.........
.
....
.......
.JZ..........
.J3 ...........
..
. .......
YFS
X..
-...
o.
FIRST
YES
UPDATE START
,X.
OF 2ND FILF
POI NTFR
_.
NO
X. 1\2
: MAKE IN LUO:
:
.CARD OIC~ ENlRY .......... )(.
G;!R~Q?KlR
:
IF ARC LIST
,.".
IN PROGRAM.
)(
"1
1\ 1
121
....
....
Chart Flo
..
*
FI
AI.
CESI~! . . A2.:........
: X.:
!~Vl~HitH
...................
STORAGF.GET
FIRST I'IPUT
TElIT 8 U I C K . .
A3
A2
...... AI.a..........
....
.....
Diagca~
lO~OAlA~VTE
CE02~l .. A3.:
...................
:
8 P
APPROPRliTE
.x TEXT rolNTfR
BRANCH..
....................
..
85
ox
BZ
CfI)REF....
1'3
CECMflK...
84
oil.
CEJU"IP
.. ,
...... 85 ..............
NO
. ' YES
,l;l~T . ' NO
SE~~NO ..... VF~
:
BUMP
: IS IT 00 X ~MWRR~oi~I~ X ~EV~~R5TOII~ . . . . . . . . . . . X: S:ANA~O\NTFR
**.. . *
**.. .
*
.. YES
*.:).
* .-:.'1O
:
:
oil . . . .
CEKEYW
Cl
C2
. . . . 'S IT YES
:
TR:~l~ATE
:
KEYWORD
X.
EXFCUTf
.. ..
NO
...
111
KN8:,.a~lO ~S
03J. .
01
RIGHT
OR
NO
lEFT
x. A3
".RENTHES IS.
x.
*.
.....
....
.
..................
~~k~~t~~
CERFMT...
nit
t:ue .'.,
...*
.. ..
it
FOR I 8UMP
COUNT.
..................
:8M~KPR~gP2l
CFKON
Cf SMCl
Hl.
SET OFF
ALL FLAGS,
ClE AR 8RACKET
cnUNT.
CFPR8G
.................
: ~~~E~F i~l~v
BUMP OVER
.................
UPOATF.
AlnCK LEVfl
UIr) COUtiT
JZ.
..................
8UMP OVER
SUR
ANIl rONSTA"IT
."
*.
..
...
HOCK lfVEL
.NI) cnUNT
~" 0 0 .. III . . . . . . . . . . . . . . . .
IS
THI SA
..
1)<;
A~
Cf F ~MK,
. CEPS,",K
"
.. X NJ
...
*.
*x.
t'l
:~~:~i~;~~~;r6~:
... TJ PSF.UOg-VAP
O~nP~Il~Tj"~~R :
... e.
................
.....
....
..
TEl)
V[
NO
f'I
r.
..-....
....
....
.
....
x
C "
x... ,...
It
0 .00
fI
'I" f
III
I)
')
II 0 . . . 0 . . . . r'
.. 05
Y. C'
...
l(
...
R~
...
122
................
.
....
.......
CEKFOP
*. * *'" *
...
H~
X:
..."'..............
It It .......
CEDOND
UPOATF IIlnCK
UPDATE 8lnr.K
LI'V~L M I n .
COU'lT AND
:lIMlI~HrA~V~~C. : . " . . . . .
l~~a~FOF
S T "CK
..................
... ...
crKrtin
UPOAT~
,.3 .X ..
FilE f~TRV
III.
A5
..."'4..............
CF.K 11'10
H3
:Cf ISUB
Kl
F2l~g~bWlk~
HZ..
.................
CEFIU
Gz.
.................
CEKSN
: GU; . . :
STAT~MENT
X
Oli..........
.
.................
.. ...
..........
*..*
YES
VB
........... ~ XC'
Ie
YES
05
,~..
NO
....
NJ
:
~~~~ A~~R~~O :
:
....Fl.
CflRCT
A2
TAKR
.................
....
oil
CFGOTO
K
C3
A~TI~ETON ..
OEPEN IN
HER T AN F R IN.
...
Ko;
, t.!O
, . .- IS IT *"
.,
lAST E(1P
-. If
. ",,-
*t! ...
....
vrs
_x
.f'K
A7*
Diagr~m
Cbart FK.
A2
.....
FK
A3
... 0. A~~A
B3
E"lOFO
FNO
1\4
YES
.......
..
s12r~xh
,,'",K:
RHHl~
:lc
CONTROL
NO
...
1'0
AI.
C3 K.
1'02
.C3.
SC AN SF TS
o,HgNl~Y
F"fTRY
CI
x.
03 x .
1'04
....0"..........
.....05.......
..1 ii ~....
END F YF.S
:
chtlafRTnF:
:cONsl~~~RTLlST:
LIS9
.......... 11. lOENTIJfFII.S 1(. 1''1011 stACK
....
: A~O 9~SE~!fn :
:
fNFNTRY
:
. .
.........
NO
X. A3
CESCN
f3
..... ..
.....F2.'.........X.......... FIl ....
Cl'IOLP
Q*..
Eit
E5
.................
-.... ..
YES
IS ~T
YES
SCAN FOR
FLA~E~IT
III ,FTS
8U~~SR~TR:
lItO
YF.S
ASTERISK
...Jl.a.........:
:
.~J
~~X~K
x.
x
..
'3 ..........
...:..........
. :
~~ '.1:
......:.....,.
IY
ic
....
FOUND
.
.
.
....
.. .
. . H5 . . . . . . . . . ...
NO
".
ERR~R
WR T1
shc
OIA~
.. ..
SAllE
FOERR2
rc
..*K2 ..
:
l~R~f
~
C3 .".....
WR9T~
..
.'
0lAGN6sTIC
>.
..........................
J4
'.:IK~8yN
NO
..~~ dU,8ic~;
i
ou=Mt.c :
.... .... .......... x::...............
:
CON~~
C ~[l~T I" :
sl8
!t IT CK
cu'R" VW~:fRY: :x
YES
x.
8tS"
Hit
.................
*G4.~........
c~~t= 14U~
.................
...
.-..
H3.~. . . . . .. .
ER
CP"'.lk
T~~=YlllT! :
HASH 8CD
.................
HO
Je......................... .
"'i~~ 1'".:
CE
C3
J5
ERR9'
:
YES
C3
K4.i........
:
01.
~~U~IRY
RfFUE?JE
C3
: ittHfly
:
.....x
....
C3
123
Diag~~m
.....
Chart FO .
FO
AI
~.
NOHOY E
A2..........
..
,A
.I.
.
. : . T~n08E :.~~ X:
SCAN
., . .
MOilED
1(.:.
....
A4' ' . .
a
*,
..... JC.:.
., ,.
....
:.~?
.....
Nn
A5' '..
e , " ,
,..,
X.: ~~gGa~ . : .
., ,*
.. ,-
END
YES
., ,.
YF.S
ns
ic
x,
X
QP
.81..
YES
II
TEXT
-, ,.
.Al
. .,
ORP~r~IN .:.~?
.X 81
. ....
SCAN TEXT
.. .. .. .. x
x
.83
84...
CHANGE 8'ITE
MAKF OI~T
: :
..... ..:.....:
E~~~l\~
~~
AI
FQ
Q3
II 1 . II I" I I .
ic
Cl..
FKM11 c2 ..........
QP C3..........
C4
c .
PROC YES
:
AilE OICT REF :
:ENT~~K~ RI~ICH :
CH
NO
OR
X.O~ ENTRY TYPE 1........
0lSA2LE
. . . . . . . . . " OR N~"'~CK . . . . . . X. G4.
BEGIN
COIilOYTI N
L~T..
,1,.
: ~~~tl: :
~ ..... * :
.. ..
NO
e*
04
YES
..xx ..............
*.
.. ..
.....F"...........
eo
05
.................
LIST
YES
fIIAKE LASH
ITEM lA8EL . . . . . . . . . . X. II AR 1 ABlE BCD
liAR ll8LE
01 CT ENTRY
*..*
ND
E1
:.
..x
.. ..
*.
END
*..-
.:.!~~
..... JC:fIIA~6RO~iJF~~TRY:
CHANGE 8YTE
Fl..
.. ..
*
.SCAN
*.
F2..........
MVS IG
F3
CflA IN.
ON,
YES
AUTO
f)~I*~II~h . . . . . . . . . . . . K:T~~~ ~~~Tr~g~
.................:..
*...
NO
Gl
INITIAL YI'S
.. ..
...x
HI.
END
*.
OF
PR OGRA...
END OF
LIST
NO
..... .
Y~S
.. ..
FIRST
INITIAL
"'AI(!:
.. ..
NO
...
MAKE
SEC~NO
JfiR
lit .,
YES
* "
x
NO
AI
FJlF
l~~~~
o~I'I
)(.)(
x.
...
.FQ
:1~rlSArR~HY~aT: '"
G4
FOR IIRRAY.
x:
't "
R!!
...
H~
"''''OVF
STATEMENT
,.
...
CHA INING
...
YE S
*.
CHECK UST
.MAKE
fJICT ENTRY
FNTRY.
.................
.
.
.
r.4.:oo .. x:....
:'
x:
.................. ..................... ....
... G3
YFS
ic
"0;
flEFCHL
'\'f'4
*.
*...
*"
SMH~iNhW
124
*...
.....
MOllE
JI.
..................
: 8EFTRN
G2
*...
ENTRY
"10
0AC T
X PRESENT , . . . . . X: fOR C NDtTIO"l :
.. .. )(~~AT~:~~~ F?!.......... X:
"10
FP010
.H~lhNQ~~~!.
*.
X. Git
:FKPROC
.................
.. .
.1:5. ... . .
X..
* ...
.,. *
"'AKE.
ON-CI1NOITIO'" . . . . . . . . .
OII:T ENTRY.
...............
.....
...
NO
ic
ic
LASCO
E2
81 :
.. nVf
SJ~1~~~NhW
AI
Chart F;:2.
.....
.
....
.
FQ
AI
....
A2
CYfABl
Al ~ "'.
......
A3
.
CYFNT)(
A2 '.
A3..........
:~~2:U~~"'.:
INSTRUCTION
:tNITIALlZE ANO :
:
c~~t~uru~s:
:Pt~~~:C~~pURE::
PICK UP START )(.POSITION OF KEY' )(.
CA~CUl.ATi: .,~.
OF CHAIN.
BYTES IN
'"
'" OFF FT. GET
:...............:
:.~l~I~~~.I:~~~.;:
CYIII INE
.. ...... ..
CHARACTER
R~!3
CYOTT
."' G 3."' "' "''''.
PROCESSES
'"
PICTURE
'" ( HA RAC TF R S
P~9t f~~fS
CHARACTERS
S,S,.,-
"', "'
C YK
<;I
(YV
'.
III
* 1.
C YC
J>ROCESSES
"'G~,
PICTURF
.... .........
. .HI. O>H2."..
.. .. ... ....... ...................'.
PICTURE
CHARACTER K
""."'
"'
'"
CHARACTFRS
CP
OR
..
::
* ............ $** tc
CYG
CYSS
P~OCESSES
PICTURE
CHARACTFR G
CYEK
"'' '
PROCESSES
..
PICTURE
CHARACTFRS ",7
IS."
THIS
NO
JZ ............
'IAKF SUR>;
Jl
".
..... S~~~'tb~~ , ., x:
iii.
*.
A~~r"2h~~~HN
:11
......... * ****1)
'" YES
"'."'.
..
X
... "'.'" Kl "''''''''''''''''''''''.'''
'" GO THROUGH
'"
:
C~~~~~~G
: :
'" INDIVIDUAL
... .. ..
::
A7
'"
:
:...............:
*F2"'"''::
..*....... '.
C YSOPM
TU~~~H
CY(PAS
'CHARACfFR V
:
"'
:
"'
P:'Fct~iP
......."'.."'."'.....
1,2,3
CYl
..
CVF.
"'' '
r:H"RAC~ER ~
"
I 8
"'
plI.nCEssrs
PICTURE
.."'
"'
P~7~p~ES
CHARAr.F~
"' "'
rH~~"'CTER
7.
..
*.*** *.*.**..
CYST ...
"'H~
PROCESSES
'"
PICTURE
'"
"'CHARACTEI\S ~,H
..
G4 . . . . . . . . . . .
rYSSfH
P~1~~~~P
PROCESSFS
PICTUII.E
CH~RACTER
'I
"!"' ............... .
CYP
H5
PRO'CESS~S
......."'.........
CH~~X~~~
CYENDO
Jl "'"''''''''''
*'"
'"
END OF
PIC"TURF CHAP>!
.
*
'
" "' * "''''.
......
;
'"
.FT
AZ
125
Chart FT.
Diagr~m
FT
A2
.... 2
K
ACt
:
SEC~aN~ILE :
x.x .,.o
IC
.AC2
AF3 B.,
liZ.....
T~~l YES
:
SEC OND FILE ., 1(.
:~INT A~~E
0JC~~~N"RY
:
FN ~ITUE~~E :
i
l~n~~l~!
. .
,.0
CZ
K..
*.
NO
TEST
, .~ORT~t'V OF . . . .
......
$I.
* *
, YES
..
OZ x.
BlA
OZ
DICTIONARY SCAN.
TEST FORI
DATA VARIABLE.
STRUCTUIIEI
EVENT VAR AILE.
M~~h~~R ALE.
~M~~ COfcsTANT.
ENTRY!
F I \ E pAR AMETERS
au
L
BU LT N GENERIC.
FILE
fIIIVlil ."
EZ'
T T YES
:
~~tl~NI~$
OICTfl!ARY .......... I(.!N~lY IIITO THE.
flll'Rv
AItPII PilI ATf
TIN.
: ;~U~:
,.0
..
. M n..
GZ
F
Of' 0
ST
x ~ ..)....
*G'\
NO
SI( P T NE XT
olcTI!;!NAIIY
EIIIY"Y
CTf~ARY.......... IC.
*..*
YES
lc
OZ
126
't . . . . . "
D" I t . e 1'1 ~
Chart FV .
Diagc~m
FV
81
Bl."
FVO
'~
RFVERSi
seCOND
F LE
POINTER
..
FV9
~ ~1
:
1~oRl~:AICH :
ptCI( UP ST~T
OF TeXT
..
*01
...
IDENTIFY
X
FVIC1
... x:
TEXT ITE"
:)( o
o "
1c:0 CI /) II
...
El..
K
DEFTST
OEF:~
Fl..
n.
O~fI
II
~.fI:
c:
AD~
8ASE
~b S~~~ij~
FV18
F2
YES
.... ....
AL~~~~~
:...
LJST :
...:
E3.'
QfI
..................
..
K:
*....
..
NO
t.).e~t:'-'.o
le. 0110.0
. ' . NO
E2..
YES
O~NAMICALtY.. YES
:
nICT. ~eF ~ OEFINED .
*...
.. ..
NO
~~~~.U~=
DATC PY
:.:6~i~6.~i.e
c-(l o :
..:
o. .
G3
i. NO
.STATeMeNTS ~OR
YES.
: eAC~uJ~o~ TO : ......... K OF L ST " ..
0.
....
.
.
.................
HI..
*.
YES
.. ..
PRnc
...................
K.
..
NO
:*
J1x . *.
. .'"
eEGIN
*.
~J
NO
...x
III
FOP
LAS El S
..
.. J2..........
: .. :~~ K:ErH:~C~Y~~1
.. .1'1....
1<1
O)O'tIl*"
FOR. fNTRY
FV2~
FVl q
H?
:nFS~~~R~HN~fS :
*..*
.).
fNV
III
: o,,"~:
>
II.
..............*...
J,.
FV3..
~~~~NAW6~
: ......
..*....*.........
ALOCK
III
YfS
.*.0
..*
"2*
)(
...*
.FX
127
over~ll
Phase FX
Chart FX.
DiagL~m
Logic
..
FX
A2
A7.. . :
b~~o I~:~~~
..................
STORi&E AND
TEXT BLOCK FOR.
SORT TABLE
:X:YE~, ........................ :
.B2..........
113 .
............
8'5 .
.1h~lk&TE
NO
FX"':>"-'
:
:
SCAN STATIC
CHAIN
:
:
.................
0 ...
FX'r'l~
.. ..
N O :
. . . . . . x:
x.cg~Plb~~IHAs~ '
NAME..
Fx"r3"
... .
:
END . '
ENTRY: U OF' CHAIN
..................
sou
YFS
C2
ic
FK(\lN1
SCAN PROC-REGIN.
CHAIN
-)C
x
02..
_
. .
END
.. . ."
....
....E2 ... .
.E2.
.
...
OF
CHfllN
NO
lC*.
-
"
YE S
.................
. *..............
x*
G 1
AUTOMATIC
pul~NE RS
..
..
.
.
..
..
..................
YEi
......,0F
CHAIN
....x
NO
ADO
STATE"'E~T
: :N~~:E~HI~ 5~NN:
ENTRY
128
*:
"ENTRY TYPE
.. II
l(
.3,",5 .
NO
..
.
..................
.................
FK,.~~ F5.a
F ...;.
SOltT EH'''V
SORT ENTRY
Fxl~2 . . *G3
.,c
PRIIfr eCD
A~F~Ifv~D
r,z
.*
H3
H..
*.
...- X
'ITII.
NO
LIIMNG
111
YFS
"
lI
III.
*0
H5
..
NO
END OF
~a:IN
...J3....
L~~Q~NG
...
YES
N3
YI'S
GA
PRINT
'TTR IBUTES
*.
xx.. *..
..
* _
_ _ *
KII iF
ic
*.
~ :;~.:. c~~glT~~N
._.
JJ
NO
1"5
: :
..
YES
ENO
.* *DIeT REF *.
*.
.*
*
*
YES
:t. 05 . *.
K. EZ
ic
.. NJ
K.
X..
fJ
10:..
FXP!=I G2 : . . . . . . . .
*r ~ ..
C HAl N
....
:
V E S .
X:SCAN SORT CH"IN:
NO
o.............
IU.4I 3.~
-..*
.. ..
G2
....
...*
... ..
...
FX()
F3..
X :
Hl
Co
X.
*. YES
FZ..
_ ')
:
YES END OF NO
1tLocAT
NO:
.X -,
CHAIN
-.
OR.
X.
..
"'''''''ETER..
SC.N TEXT
END OF
TEXT
NO
FK(ll:~ Fl............
.SCAN
.. .x
CHAt"!
-...
ANY
PA RA fifE TE A. S
FK01~Z
K.
FX:Hl"
x*
03.. *.
Al
.............
....
Table ED.
Phase ED, Initialization
r-----------------------------------T---------------T-----------------------------------,
I
IMain Processingl
I
statement or Operation Type
I
Routine
I
Subroutines Used
I
I
~-----------------------------------+---------------+-----------------------------------~
ISets up routines in scratch core
ISETUP
INone
I
Ifor phase EL
I
I
~
L ____________________________________ i _______________ i ___________________________________ J
I r------------------T--------------------------------------------------------------------,
I I Routine/Subroutine I
Function
~------------------+---------------------------------- ----------------------------------i
I,]~ASK
I
I
I
I
II
ICELL
IRoutines for processing declared attributes.
These set up
I
linformation in the attribute collection area of scratch core,
I
IBASED
IAREA
Ifor reference by CDICEN, etc., in phase EL.
I
J
I POINTER
I
I OFFSET
I
I
L__________________ i ____________________________________________________________________ J
I I EVENT
Table EG.
Phase EG Dictionary Initialization
r-----------------------------------T---------------T-----------------------------------,
I
J Main, Processing I
I
statement or Operation Type
I
Routine
I
Subroutines Used
I
I
~----------------.-------------------+---------------+ -----------------------------------i
IHashes labels
ICAAl
ICHASH, CBCDL2
~-----------------------------------+----------------+ -----------------------------------i
IPROCEDURE-BEGIN chain
ICA7
INone
~-----------------------------------+---------------+- ----------------------------------i
IBEGIN
ICA8A
INone
~-----------------------------------+---------------+- ----------------------------------i
I PROCEDURE
ICAPROC
ICANATP, CFORP
~-----------------------------------+---------.--~---+ -----------------------------------i
I ENTRY
ICA10
ICANATP, CFORP
~-----------------------------------+---------------+- ----------------------------------i
IFormal parameters
ICFORP
ICHASH, CBCDL2
~-----------------------------------+---------------+- ----------------------------------i
IAttribute list
ICANATP
~-----------------------------------+---------.------+-----------------~-----------------i
129
.Table EG1.
r------------------T--------------------------------------------------------------------1
I Routine/Subroutine I
Function
I
~------------------+--------------------------------------------------------------------.~
CAA1
Scans label table and hashes labels.
CANATP
CAP ROC
CAPRE1
CATBIT
CATCHA
CATPIC
CA6
CA8A
CA10
CBCDL2
Traverses the hash chain looking for entries with the same BCD as
that just found.
CDEFAT
CFORP
CHASH
CTYPBL
ENT2F'
TYPW
OPTN1 (EF)
OPTN2 (EF)
OPTN3 (EF)
IATTRBT (EF)
S~ATIC
DSA decisions.
130
.Table EI.
r-----------------------------------T---------------T-----------------------------------,
I
IMain Processingl
I
statement or Operation
I
Routine
I
Subroutines Used
I
I
~-----------------------------------+---------------+-----------------------------------~
Iscans DECLARE statement
ICCGSO
INone
I
t-----------------------------------+----------------+-----------------------------------i
IScans text
ICCGS2
INone
I
t-----------------------------------+---------------+-----------------------------------~
IProcesses structure level
ICCGSCM
INone
I
~-----------------------------------+---------------+-----------------------------------i
IFactored attribute, left
ICCFLP
ICFP~CR
I
I
I
I
I parenthesis
~-----------------------------------+---------------+-----------------------------------~
IFactored attribute, right
ICCFRP
INone
I
I
I
I
I parenthesis
~-----------------------------------+---------------+-----------------------------------~
IData following DEFINED attribute
ICCDEF
INEWBLK, CTXTRM
I
~-----------------------------------+---------------+-----------------------------------i
I POSITION
\POSIT
INone
\
t-----------------------------------+---------------+-----------------------------------~
I CHARACTER, BIT
ICHABIT
ICTXTRM
I
~.-----------------------------------+---------------+-----------------------------------~
I PICTURE
ICATPIC
INone
I
t-----------------------------------+---------------+-----------------------------------i
IUSES, SETS
\SETS
INone
\
t-------------------~---------------+---------------+-----------------------------------~
ILIKE
ILIKE
INone
I
~-----------------------------------+---------------+-----------------------------------i
IKEY
I KEYED
INone
I
t-----------------------------------+---------------+-----------------------------------i
I Dimension
ICDDIMS
AST, TOMENE, ERRORB
I
ICTX~RM,
~------------------------------------+---------------+-----------------------------------~
I Precision
ICDPREC
IERdNEG, SCLBIG
I
~-----------------------------------+---------------+-----------------------------------i
I INITIAL
IEJINIT
ICECON, EHINIT
\
~------------------------------------+---------------+-----------------------------------~
IINITIAL CALL
IINCALL
ICTXTRM
I
~-----------------------------------+---------------+-----------------------------------i
I OFFSET
IOFFSET
ICTXTRM
I
t------------------------------------+---------------+-----------------------------------i
I BASED
I BASED
\PTVEXP
I
~------------------------------------+---------------+-----------------------------------~
L
____________________________________ ~I AREA
_______________ ~ICTXTRM
___________________________________ JI
I AREA
131
.Table Ell.
r------------------T--------------------------------------------------------------------,
I Routine/Subroutine I
Function
I
~------------------+--------------------------------------------------------------------~
AREA
IProcesses AREA atrributes.
AST
BASED (EH)
CATPIC
CCDEF
CCFLP
CCFRP
CCGSCM
CCGSAT
IDeals with the case of* dimension bounds mixed with non -* bounds.
IProcesses.PICTURE attributes.
CCGSE
CCGSOO
Scans text.
CCGS2
CDDIMS (EJ)
CDPREC (EJ)
CECON (EH)
Makes a dictionary entry for a constant unless one has already been
made.
Returns the dictionary reference of the constant entry.
CFPMCR
CHABIT
I
I
I
I
CSGSOO
CTXTRM
Tests for space in current text block and obtains new block if nec- I
essary.
I
EHINIT (EH)
EJINIT (EJ)
ERRNEG
IERRORB
I __________________
L
132
I
I
I
I
I
I
I
I
I
IDeals with the case of lower dimension bound declared greater then
Ithe
upper ,bound.
__________
_______________________ ___________________________________ JI
Table Ell.
r------------------T--------------------------------------------------------------------,
Routine/Subroutine,
Function
------------------+--------------------------------------------------------------------i
,
GENTRY
,'Keeps
INCALL (EJ)
,'Processes
IVROOM (EB)
,
IVPUTL (EH)
,
IVPUTC (EB)
,IVPUTO
(EB)
KEYED
LIKE
NEWBLK
OFFSET (EB)
POSIT
PTVEXP (EB)
Entry
made.
SCLBIG
Deals with the case when the scale factor in a precision specification for fixed-point data is declared too Large.
SECON
~oint
,I
SETS
133
Table EL.
r-----------------------------------T---------------T-----------------------------------,
I
I Main Processing I
I
134
.Table ELl.
r'------------------T--------------------------------------------------------------------,
I Routine/Subroutine I
Function
I
~------------------+--------------------------------------------------------------------~
ATLSCN
Scans the list of attributes following the identifier.
BCDISB
BCDPR
CDATPR (EK)
CDAT40 (EK)
CDAT41 (EK)
CDAT42 (EK)
CDAT43 (EK)
CDAT44 (J;:K)
CDAT45 (EK)
CDAT46 (EK)
CDAT48 (EK)
CDAT49 (EK)
CDAT4A (EK)
CDAT4B (EK)
CDAT4C (EK)
CDAT4D (EK)
CDAT4F (EK)
CDAT56 (EK)
CDAT57 (EK)
CDA'I' 58 (EK)
CDAT59 (EK)
CDAT5A (EK)
CDAT60 (EK)
CDAT61 (EK)
CDAT62 (EK)
CDAT63 (EK)
ICDAT64 (EK)
ICDAT69 (EK)
ICDAT6A
(EK)
Processes LIKE attribute.
L_.
_________________
_________________________________
___________________________________ J
~
135
Table ELl.
r------------------T--------------------------------------------------------------------,
I Routine/Subroutine I
Function
~------------------+--------------------------------------------------------------------~
CDAT6B (EK)
CDAT6C (EK)
CDAT6D (EK)
CDAT6E (EK)
CDAT88 (EK)
CDCLSC
CDFATT (EM)
CDFLT (EM)
CDICEN (EM)
CGENSC (EM)
CHASH (EM)
DCIDl
DCIDPR
ECHSKP (EK)
IMPATT (EM)
IINTLZE
I
I
IPOSTPR
I
ISCAN4 (EM)
I
ISELMSK
IPost-processor.
I
IScans chain of DECLARE statements.
I
ISelects correct test mask to be initialized.
ITEMSCN
L__________________
136
ISTRPR
I
I
I
I
I
I
IScans
ahead for next level number. __________________________________ .1I
__________________________________
Table EP.
Phase EP Dictionary Entry III and Call
r-----------------------------------T---------------T-----------------------------------,
I
IMain Processingl
I
Statement or Operation Type
I
Routine
I
Subroutines Used
I
I
~-----------------------------------+---------------+- ----------------------------------i
IENTRY3
INane
.------------------------------------+---------------+ -----------------------------------~
INane
I
I
I
~-----------------------------------+---------------+- ----------------------------------i
INane
I
I
I
I
~-----------------------------------+---------------+- ----------------------------------i
INane
I
I
I
~-----------------------------------+---------------+- ----------------------------------i
I~one
I
I
~-----------------------------------+---------------+- ----------------------------------i
ICDFLT
INane
~------------------------------------+---------------+ -----------------------------------i
INane
I
~-----------------------------------+---------------+- ----------------------------------i
ICDICEN
INane
~-----------------------------------+---------------+- ----------------------------------i
ISCANBF
INane
137
Table EP1.
r------------------T--------------------------------------------------------------------,
I Routine/Subroutine I
Function
I
~------------------+--------------------------------------------------------------------~
BLDST2
IConstructs list of numbers of known blocks.
CDICEN
CDIMAT
CDFLT
CHASH
ENTRY3
EPL20
EPL40
EPL75
EPL100
EPL290
EPL340
EPL360
EPL600
FNDEND
LBPROC
PHSINT
Initialization of phase.
PHSMRK
SCANBF
l __________________ L ___________________________________________________________________ _
138
Table EW.
r------------------------------------T---------------T-----------------------------------,
I
I
IMain Processingl
I
Routine
I
I
I
Subroutines Used
~------------------------------------+---------------+-----------------------------------~
I
,
~-----------------------------------+---------------+------------------------------~----~
INone
~-----------------------------------+---------------+-----------------------------------~
I EW2FNT
'EWN~BK
file statement
'
I _ __________________________________ JI
lIsecond
___________________________________
_______________
~
Table EW1.
r'------------------T--------------------------------------------------------------------,
I Routine/Subroutine ,
Function
~,------------------+--------------------------------------------------------------------~
CESCN
EWBEGN
EWCHEN
,I
,I
I
EWCOPY
E~L~
EWELTS
EWEND
E~R~
EWHSCN (EX)
EWINCH
EWNOLK
EWNWBK
~~~
EWORDM
EWSTRT
EW2FNT
l __________________
Copies
second file statement and associated
dictionary reference.
__________________________________
__________________________________
J
139
.Table EY.
r-----------------------------------T---------------T-----------------------------------,
I
I
IMain Processing I
I
Routine
I
Subroutines Used
I
I
~-----------------------------------+---------------+-----------------------------------~
IEY14
I
I
I
~------------~----------------------+---------------+-----------------------------------~
IEY14
I
I
I
I
I
~-----------------------------------+---------------+- ----------------------------------1
I
I
~-----------------------------------+---------------+-----------------------------------~
IATPROC with
Isecond entry
I point ATPROD
I MOVEST
I
I
I
I
I
~-----------------------------------+---------------+-----------------------------------~
.Table EY1.
r------------------T--------------------------------------------------------------------,
I Routine/Subroutine I
Function
~------------------+--------------------------------------------------------------------~
ATPROC/ATPROD (EZ) Icoffiplete copied dictionary entry for allocated item by including
lattributes from ALLOCATE and second file statements.
I
DICBLD
Icollects attribute given for an identifier and copies its dictionary
lentry.
EY16
EY17
EY21
HASH
IEMEX
EY14
IEMEY
MOVEST (EZ)
STRCPY
l __________________
140
reverses pointers.
Controls
ATPROC and AT PROD for each rrember of structure.
__________________________________ __________________________________ .1
Table FA.
r-----------------------------------T---------------T-----------------------------------,
I
I
IMain Processingl
I
Routine
I
Subroutines Used
I
I
t o -----------------------------------+---------------+ -----------------------------------~
IScans text
ICE30
ICENDTS, CETRAN
t-----------------------------------+---------------+- ----------------------------------~
ICEID
Ivariabl~s
ICESCN
I
I
I
I
t-----------------------------------+---------------+- ----------------------------------~
IIdentifies keywords
I
ICEKYWD
I
I
I
t-----------------------------------+---------------+-----------------------------------i
IScans dictionary
I
ICESCN
I
I
I
t------------------------------------+---------------+ -----------------------------------~
ICFPDR2
I
I
I
t------------------------------------+---------------+ -----------------------------------~
ICECON
I
ICHASH
I
I
I
I
t-----------------------------------+---------------+-----------------------------------i
141
Table FA1.
r------------------T--------------------------------------------------------------------'1
I Routine/Subroutine I
Function
~------------------+---------------------------------- ----------------------------------,i
I
I
I
I
CDFLT
Deter~ines
CDICEN
CDIMAT
CEBNK
CECON (FB)
CEDWAX
CEID
Reorders subscripts and makes dictionary entries for files and eVEnt
variables.
CEINT
CEISUB
CEKCEN
CEKDCL
CEKEND
CEKEOB
CEKEOP
CEKEY
CEKIDO
CEKON
Processes ON keyword.
CEKPFR
CEKPRC
~
~
~
~
CEKSN
CEKSND
ICEKYWD
ICELP
CENDTS
CEONCK
CEPFDR
CEPICT (FB)
CERP
CESCN
Scans dictionary.
CESMCL
ICESTUC
L
__________________
142
I
I
I
I
~
~
~
~
~
~
I
I
i
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
Handles semicolon.
I
I
Points at next entry in structure chain.
__________________________________
__________________________________ JI
Table FA1.
r------------------T--------------------------------------------------------------------,
iRoutine/Subroutinel
Function
Ir------------------t--------------------------------- -----------------------------------~
~CETRAN
I'
ICEYES
ICE2L
ICE30
ICE31
CE32
CE300
CE3XX
CFPDER (FB)
CFPDR2 (FB)
CHAStI
Hashes identifier.
CHASHC
Hashes constant.
IIEMFA
Initializes phase.
I. __________________ L ____________________________________________________________________ J
Table FE.
r-----------------------------------T---------------T-----------------------------------,
I
I
IMain Processing I
I
Routine
I
subroutines Used
I
I
~-----------------------------------t---------------t-----------------------------------~
IScans text
ICE30
ICENGTS, CETRAN
~-----------------------------------t---------------t-----------------------------------~
IScans dictionary
ICESCN
I
I
I
~-----------------------------------t---------------t-----------------------------------~
ICEFNCT
I
I
I
I
I
~-----------------------------------t---------------t-----------------------------------~
ICENDTS
.'-----------------------------------t---------------t -----------------------------------~
IIdentifies keywords
ICEKYWD
ICEKEOB, CEKEOP
~-----------------------------------t---------------t-----------------------------------~
INone
143
Table FE1.
r------------------T---------------------------------------------------------------------1
I Routine/Subroutine I
Function
t------------------t---------------------------------- ----------------------------------~
CDFLT
CDICEN
CDIMAT
CEFNCT
CEKEND
CEKEOB
CEKEOP
CEKIDO
CEKPRC
CEKYWD
Identifies keyword.
CELP
CENDTS
CESCN
IScans dictionary.
CESTUC
CETRAN
CEYES
CE30
CE3XX
CFDICN (FF)
CFPDER
CFPDR2
ILCRASH
offset in hash table for__________________________________
given BCD.
__________________ Icalculates
__________________________________
J
~
Table Fl.
r-----------------------------------T---------------T-----------------------------------,
I
IMain Processingl
I
Routine
I
Subroutines Used
t-----------------------------------t---------------t- ----------------------------------~
IScans text
ICESTRT
ICEKEYW
t-----------------------------------t---------------t- ----------------------------------~
IIdentifies keywords
ICEKEYW
t-----------------------------------t---------------t- ----------------------------------~
ICEGOTO
INone
t-----------------------------------t---------------+- ----------------------------------~
INone
t-------------~---------------------t---------------t-----------------------------------~
ICEFILE
INone
t-----------------------------------t---------------t- ----------------------------------~
INone
144
Table Fll.
Phase FI Routine/Subroutine Directory
r------------------T--------------------------------------------------------------------,
I Routine/Subroutine I
Function
I
~------------------+--------------------------------------------------------------------~
ICECMBK
ICEDDOL
ICEDOND
CEDREF
CEDTCK
CEFILE
CEFNMK
CEGOB
CEGOTO
CEISUB
CEJUMP
ICEKEND
IProcesses iSUBs.
Bumps scan pointer over dictionary reference.
Processes END statements.
CEKEOB
CEKEOP
CEKEYW
Identifies keywords.
CEKIDO
CEKON
Processes ON statements.
CEKSN
CELRCT/CERPCT
CEOOPS
CEPRBG
CESMCL
ICESTRT
Processes semicolons.
Controlling scan of text.
L __________________ L ____________________________________________________________________ J
145
Table FK.
r-----------------------------------T---------------T-----------------------------------,
I
IMain Processingl
I
I
Statement or Operation Type
I
Routine
I
Subroutines Used
1
.-----------------------------------+---------------+-----------------------------------~
IScans attributes area for SETS
IF01A
INone
1
Ilists
I
I
I
.-----------------------------------+---------------+------------------------------------1
IScans SETS list
IF02
INone
.-----------------------------------+---------------+------------------------------------1
IProcesses constants
ICONPRO
INone
.-----------------------------------+---------------+------------------------------------1
IProcesses
identifiers
ICESCN
CE3XX, CHASH
I
L
___________________________________
_______________ ICESTUC,
___________________________________
Table FK1.
.1
r------------------T--------------------------------------------------------------------,
I Routine/Subroutine I
Function
I
.------------------+---------------------------------------------------------------------f
CEIDLP
Scans qualified name.
CENQUL
CESCN
Processes identifier.
CESTUC
CE3XX
CHASH
CMPERR
CONPA
CONPRO
Processes constants.
ENDFO
Releases control.
FOERR2
F01A
F02
F04
scratch storage.
LGETSCR
__________________ Obtains
___________________________________________________________________
_
~
146
Table Fa.
Phase Fa Dictionary ON
r-----------------------------------T---------------T-----------------------------------,
I
I
IMain Processingl
I
Routine
I
Subroutines Used
I
I
~-----------------------------------+---------------+- ----------------------------------i
IFK~VIT
IBEFTRN, CENDTS, QP
I
~-.----------------------------------+---------------+ -----------------------------------i
Table F01.
r-"-----------------T--------------------------------------------------------------------,
I Routine/Subroutine I
Functlon
~-------------------+--------------------------------- -----------------------------------i
I
I
BEFCHL
BEFTRN
CENDTS
Fl(DCEN
FICMVIT
FICNOCK
FICPROC
FP010 (FP)
I
I
I
Moves second file from input text block to output text block.
Ll~BCD
Creates a dictionary entry for each label constant and each entry
label mentioned in a CHECK list.
MVSIG
NOMOVE (FP)
Q3
QP
I
I
I
I
I
I
I
I
IR8
statement to output buffer. ___________________________________ JI
L __ " ________________ Moves
_________________________________
~
147
Table FQ.
r-----------------------------------T---------------T------------------------------------,
IMain Processingl
I
Routine
I
Subroutines Used
r-----------------------------------+---------------+- -----------------------------------~
ICYBR3
I
I
I
r-----------------------------------+---------------+- -----------------------------------~
IPicture character 9
\CYNINE
INone
r-----------------------------------+---------------+- -----------------------------------~
IPicture characters S, $, +, -.
ICYSDPM
INone
r-----------------------------------+---------------+- -----------------------------------~
IPicture character V
ICYV
INone
r-----------------------------------+---------------+- -----------------------------------~
IPicture character E
ICYE
ICYC21
r-----------------------------------+---------------+- -----------------------------------~
IPicture character K
ICYK
ICYC21
r-----------------------------------+---------------+- ---------------------------------.-~
ICYCRDB
INone
r-----------------------------------+---------------+- ----------------------------------~
ICYOTT
INone
r-----------------------------------+---------------+- ---------------------------------.-~
IPicture character P
ICYP
INone
r-----------------------------------+---------------+- ---------------------------------.-~
IPicture character Z
ICYZ
INone
r-----------------------------------+---------------+- ---------------------------------.-~
IPicture character
ICYAST
INone
r-----------------------------------+---------------+- ---------------------------------.-~
IPicture character Y
ICYY
INone
r-----------------------------------+---------------+- ---------------------------------.-~
IPicture character G
ICYG
INone
r-----------------------------------+---------------+- ---------------------------------.-~
IPicture characters 6, 7, 8, H
ICYSSEH
INone
r-----------------------------------+---------------+- ---------------------------------.-~
IPicture character M
ICYSTM
INone
r-----------------------------------+---------------+- ---------------------------------.-~
IPicture character F
ICYF
INone
r-----------------------------------+---------------+- ---------------------------------.-~
ICYCONV
I
I
I
r-----------------------------------+---------------+- ---------------------------------.-~
ICalculates
scale factor
L
___________________________________
148
ICYFNT
_______________ INone
_ _________________________________ ._JI
Table FQ1.
r------------------T--------------------------------------------------------------------,
I Routine/Subroutine I
Function
I
r------------------t---------------------------------------------------------------------~
ICYAST
Processes picture character *.
ICYBR2
ICYBR3
ICYCONV
ICYCPBS
CYCRDB
CYC21
CYC97
CYE
CYEK
CYENDD
CYF
CYFIND
CYFNT
CYG
CYK
CYNINE
CYOT'l'
CYP
CYSDPM
CYSS
CYSSEH
ICYSTM
ICYTABL
ICYV
v.
ICYY
ICYZ
L
__________________
IProcesses
picture character Z.
__________________________________
__________________________________ JI
149
Table FT.
r-----------------------------------T---------------T-----------------------------------,
I
IMain Processing I
I
I
Statement or Operation Type
I
Routine
I
Subroutines Used
I
.-----------------------------------+---------------+- ----------------------------------~
.-----------------------------------+---------------+- ----------------------------------~
IData variables
IDATVAR
INane
I
~-----------------------------------+---------------+-----------------------------------~
IEvent or label variables
I EVLABV
INane
I
~-----------------------------------+---------------+-----------------------------------~
IDimension attributes
IFO
INane
I
.-----------------------------------+---------------+- ----------------------------------~
IGEl
INane
.-----------------------------------+---------------+- ----------------------------------~
IQX
INane
.-----------------------------------+---------------+- ----------------------------------~
150
Table FT1.
r------------------T--------------------------------------------------------------------,
I Routine/Subroutine I
Function
J
~------------------+--------------------------------------------------------------------~
ACl
Scans second file.
AC2
AF3
AJDMRT
Bl
Scans dictionary.
BIA
CONST
Processes constants.
DATVAR
EVLABV
FO
FULIN
GEl
G2
G3
JMoves initial label statement to the second file, collecting togethler all statements for the same array.
llo1KDMTB
llo1VTXT
PROPIC
PiA
QAi
QA2
QA3
QA4
QX
STRUCT
Processes structures.
L 'rRVECT
__________________
151
.Table FV.
r-----------------------------------T---------------T------------------------------------1
I
I
IMain Processingl
I
Routine
I
Subroutines Used
I
I
~-----------------------------------+---------------+- ----------------------------------1
IF2MOVE, MOVE
I
I
I
I
~-----------------------------------+---------------+- ----------------------------------,
152
.Table FV1.
r------------------T--------------------------------------------------------------------,
I Routine/Subroutine I
Function
I
~----------.---------+_\_-----------------------.------.-------------------------------------~
DATCPY
Moves second file statements associated with dictionary reference to
output string.
DEFCOM (FW)
Examines ADF refenences in second file; completes defined item dictionary entry.
DEFMOV
DEFTST
FVO
FV9
FV10
Scans text.
FV16
Releases control.
:FV18
FV19
FV20
FV34
FVPTR
Inserts D.R.
FVADV
FVSDV
F2MOVE
IEMFV
IL MOVE
Moves text from input string to output string.
__________________ __________________________________ __________________________________ J
~
153
r-----------------------------------T---------------T-----------------------------------,
I
I
IMain Processingl
I
Routine
I
Subroutines Used
I
I
~-----------------------------------+---------------+-----------------------------------~,
IFXOOOO
JFX0010
~-----------------------------------+---------------+-----------------------------------~
IFX0100
~-----------------------------------+---------------+- ----------------------------------4
IFX0170
I
I
INone
I
I
I
I
~-----------------------------------+---------------+- ----------------------------------11
IFX0010
I
I
1
~-----------------------------------+---------------+- ----------------------------------11
INone
I
~-----------------------------------+---------------+-----------------------------------~
IFX0105
I
I
I
IFX0101
I
I
I
I
I
I
~----------------------~------------+---------------+- ----------------------------------11
IFX0010
I
I
I
I
II
~-----------------------------------+---------------+- ----------------------------------11
IFXHD
I
IATTMOV
I
I
I
~-----------------------------------+---------------+- ----------------------------------11
I FXPRNT
IFX0299
~-----------------------------------+---------------+-----------------------------------~
IFX0299
I
I
I
I
~-----------------------------------+---------------+- ----------------------------------,
I FXDCLN
I
I
I
I
I
I
1
~-----------------------------------+---------------+-----------------------------------~
INone
I
I
~-----------------------------------+---------------+-----------------------------------~
INone
I
I
I
I
1
~-----------------------------------+---------------+- -----------------------------------1
I NonE::
I
I
,I
I
I
~-----------------------------------+---------------+- -----------------------------------1
154
Table FX1.
r------------------T--------------------------------------------------------------------,
IRoutine/subroutine!
Function
I
~------------------+--------------------------------------------------------------------~
ATTMOV (FY)
Converts EBCDIC data to required for~, moves data to print area.
I
FXBCD (FY)
Move~3
ed.
FXDCLN (FY)
FXEND (FY)
Free~3
FXHD (FY)
FXPRNT (FY)
FXOOOO
FX0010
Sorts BCD of variables and creates entry in text for each item.
FX0030
FX0100
FX0101
FX0105
FX0120
FX0170
FX0250
FX0299
!REFMOV (FY)
Moves the references to an identifier to the print buffer and
!l __________________ __________________________________
prints.
__________________________________ J
~
155
2hart 04 .
.....
..
(14
Flo~chart
B1
..x
81
FILE
yes
OR OPEN
CONSTANT
.. ..
*..*
NO
..... R2
.DCBS
GA.
.- .......-.-.-.-.-.
.................
X.
CRE ATE
..
.. x
x
C1
*<:;1
...
0
S;MNH AN~ YES
:!'~.~~~.-.-.-~~:
2ND LEVEL x.
MODIFY
MARKERS..
PARM1ETt=RS
*.
.. ..
......... ......
."0
NO
'"
"'
xx ......................... ..
01
..
'
ANY..
FUNCTION YES
.. ..
.~~kE~~~P
NO
02
.MATCH1
GK
.... -.-.-.-.-.-.-.
PA~~~HER :
MATCHING
x:.................
."'ic.
E2
"'.
ANY.
NO FUNC TION
x *. **. . ..*..*
REFERENCES
* *
YES
.F2..........
F3
.-.-.-.-.-.-.-.-.Z.. x:.-.-.-.-.-.....-.
................. .................
GO.
PREFb~O&~SSOR
... x
x
NO
..... HZ . . . . . . . . . . ..
......
." STRUCT
... YES
"STRUCTS
HF"
.-.-........ -"'-.- .. - ..
~~S~ ~~~~~~~'"
... '"
...
IONS
NO
x:
S t~O~~~~E
......
..
I GNMENTS
.. "'' 'ASS
' "''''.'''
'''.'''.'"
x
x
J1
"'.
"'..
ARRAY"'. YFS
'.MS~~~~~~~.' "'.. x:
.'"
IONS
* *
1'10
x.
..x
K1
'"
ANY
YES
ISUB DEFINED ."'
ITFMS
*.
.-*-.-.-.-.-.-.-.
....... KZ
.ISURS
HP'"
X. PROCFSS ITF'1S
DEFINED
USING ISI)~S
NO
x
.....
.. AI
05
156
AI
..
.r
0;
...
... "
...................
x x.
..
GP*
~~C~~RA~~~~~S :
G1
G2
.CHECK LIST
GU.
ANY
YES
.-.-.-.-.-.-.-.. -.
CHECK
J(. PROCEED CHECK ..
..... 1I STS....
:
C~~~~HON
:
H1
.MA TCH 2
Chart GA.
GA
AI
ILOCN'
1:1"
AI
: 1L0l"'"
Bl
FILE NAME TO
.SKElfTON OClC:Fl
.CHANGE SYSPRINT
TO I HE SPR T
** ................
X.
.:.
00
NO
.GB
AI
II'
*.
N[J
ANY
ATTRI BUTFS
.....
.. ..
IL '11 f\
*.
". END OF
YES
" STATIC CHAIN
*.
I l'lll"
.~ AI.
INITI Al IlA TION
...........................
*,
.0
-...
,.
YES
.'CI ...
GET NEXT
ENTRY IN
STATIC CHA IN
.................
...
..
,.
01
FILE
CONSTA~T
*.
:.~~~3 ~.:.t:t~.:
'''81
* .*
YES
f)
NJ
*.
*. ''lei *
*
IlI\11~
E3 . : . . . . . . . .
*. *.,
.
.
x.
it
EI
APPRO~RlATE
PART OF DClce
SKEl ETON
................................. ,
NO
.*
I~.
.x
YES
GET ENYMNT.
CHECK
.................
flo
15
ft
(! "
F5
.................
'"
n .,. ~ 0 0
ATTR IBS
AND HAKE OPEN
CONTROL BLOCK
.,..
., ..
YF.S
x:
NO
..F3 ......
i<
' F I
EI; .'..
, . IS
.,
COFlOl HI
[~ir~V t
:ILIl:Zt
n.
..................
fI "II' t'I
~ ~
0" ., It 0 0 0 0
G , tI ' 0 0 ' 0
.' Gl.
.. 10K EDICT
ENTRY fiNn
CHAI N FROM
SU TIC ENTRV
..................
Section 3:
Ch~rts
157
..
GB
AI
MR
. "1.
.................
*....
*
INITIALIZE
TEXT POINTERS.
LOAD IEMGJ
......
02
*.*.
x
81 X.
..
A6
It
*.
X
: B1 :
SCAN TEXT
R2
: X.:
..
x
*
.........
x
A4.
",.B3
*"...
S~~~~~~NT
o.
*. *. ".
YES
.....01..........
........*........
*.
rt.
Nil
......
...
...0
x
*.
*
'*
.. YFS
('.
RFTURN TO
X.
SCAN FrIR
*SKIPPfD OPTIONS.
Fl
SCANS
FOR MA T LI ST
~l
.:.
STATEMENT,.
0 .
* . ~"
Yr S
YI' 5
.-.-.-.-.-.-.-.-..00
..........."'..... ....x
CO .. P,.R!'
.ST Rue TURES ('1.\1'1
COflY INSEI!.T
.. .....
.
Bl
**.*
'11
"5. .
...................
...
.:.
G3
III.
OUTPUT ANO
I SEE C21
RI'TURN
<:..
*n
';4
,.
*(1 NO
.,
YFS
F6A.
*e
*. * * ."
..
.. YES
., *,.
..
ft
,...
G5
OF
.~
*.
*n
~~~MAT
.:
*...
LISTS
NO
Fl .X
'*
.fl4 . . . . . . . . . ..
MAP/COPY
G 3 X.
NO
(."
to
F 3
.....
*.
~n
." .,.
..
.
.
................
.
....
.
....I:
LABI7e.
Gl
G2
FORL ST
..
FORMAT
... YES
.-.- ....-.- .. -.-.. -.
0
OPT ION
~.
sr. AN S
....
:
F?~~~TF~I;r :
8')
..
.*
FORlST
F3
r.K
A3
.
......... ...................
*. *,,;
fit
*
*
YF 5
..... f.I
*"
....
..........
02
.....
..
..........
.Fl
s~iH~tNT
~1
E2
NO
ENO
NO
OPTIONS
. . . . . . . . . . X..
OF TEXT
. . . . . . X. Bl
, SKIPPED
*.
...................
.....
t\.
A4
.x ,
SCM-I STATFMENT
.SPF.CIFICATIONS .X ,..
PUT
X
.. TRANSMITTING
., STATEMENT
OTHER OPT IONS
.-. *. *.
,.
x
:::::~l~i!i::::::
*.
n?
*.
..x
*.
*".
YfS
0 . . . . . . . . . . . . . . . . .,
C3
.1Ir
NO
. . . . . . . . COBOL FlU'
~~~~S I ~~~M~~ I
01
A8
c.
...................
....
..
.... .
FORLST
.to
C7.
.. ..... eo:*-*-*- *-*-*-*-*-*t
n.
AI..,.
B4
11 *..
*.....
*. ...
Bl
AFORMT
*.
HI..
DATA
*.
NO
SCAN2..
H2
YES
DOES
.
.................
fDIT OR
. . . . . . . . . . X IT CONTAIN ,"
LIST..
X..
I TOO
,.
**.. .
*
NO
......
*CI
*...
*. II.
YE S
..Hl
.HS
OUTPUT BUY
AND HMP
.1 Ton S TAHHF.NTS.
ol~n6~HY
.................
:
R~~'=~~~V
H2
.. 0.x ..
Jl
END
. . . . . OF STATEMENT
'01')
........... ....
......
*. *.
.*
III *
.. YES
FI
J3 . .'...
LLOOI T
X
J2
OUTPUT PR I(1R
TEXT AND FND
.SCAN TO THE I
REPLACE IT flY
SF"lI-CflLO'l
O~H
.................
J4..........
:
yes
MKROO'l
X
.....K2
MAKE ROOM
.1"1 nUTDUT TF XT ..
ANfl INSFRT
" .
ENfl 5TATEME'IT
..
..
**
X
...... K3 ....
.................... ....
....
..
~
H":! :
0*
..
I' 5A
...J5...
fll/TPUT:
:
: ........
OIHPIJT AND
B1
158
F5
NO
STACK
nlfTlnNARY.
..
" .X. F1
RfFERENCE
nF T FMP
........x ..
,. r.3 ..
.....
Chart 3K.
"'GK
* A" *
A~ "'
'"
'"
l"lITIIILl7F
TFXT POINTERS.
ETr.
"'."'
"'
*. X.
111
SCAN TEXT,
'"
NOTING
RlOCK LEVEL.
liND COUNT
r.'~*
"' "'
"."''''.CI.'''.'''''''''''''..
'"
S~T 'ElUILT-
'.
l"l r.ENFRIC'"
n~vt~.
NO
0
BflPVM
VES ,.
"'."''''.''''''''''"
RIITST3
C? .,
0'" I~
V[S.. PSFIJOO-.,
'"
tI
f1asct.N
'"
.'"
C~
"'.
PSEUOO-
"'.
"'.
*" .;,.
,.'"
FOUND.
'"
'" NO
ox
BAn,
"'."."2."''' ''''''.
03 ."'
:
~Hv~JT~oaN:
YES ~UNCTION .'.,
.GE"lF.RIC
AND/OR .)1 "'.
MARKI'R
'"
RUlL T- I N .
FOUND
o.
FUNr.T10NC;
III
NO
8AR
~~~"EZ.!...
e.X*PUSH
'"
F~
",*",
'"
ST4CK*
"III
.. ........... ...
now,.,
"'
"'
..FZ'"
F3
................
..'...GI..........
G2 ..
"'1(..........
..................
....o
Lin:
.FOR "ln~I-RU~l T-
IN FUNCTI':lNS
ARr.NO. 0
*.
OF
TEXT
*.
(I-
~.
..
81.
NO . . . . Oop
FOLLOW
*. III.
*.
YES
..
A~MJ=~~T
'"
Fit X.
X
RADELM
F4
NO
IS
ITS
.,
NO
......... .. ..
.
.
.
.................
"*,, .,
., .?ELl~4~~R ~ "'
*e
.,.
vFS
83
FlAMORE
.G4
AOO ONE T'l
IIJl.GNO
,.
G5
..
....................
.
.
..
*t,I
GP
I'IARKER
F It "'
"'.
YES
8AlPQ
8ASTOP
,*.
NO
..x
.*ENO
:P:~~Mhf~
"'
.. ..
FOUNO
*..*
:.
BAI'ST
F5"'
OUTPUT
E~~R~UT
........ ........
..............
X:
"'
G'I IC
AI\G~~2"G!I.~ "
AG4tNST
CHECK ARiNO
0 CT
F.NfI\Y (1
: po~u:i~T~9~CK :
it
83
....
ARG"lO \
OUTPUT PRlnR
TFl(T, TrsvTr,
S TMT NUM8ER,
!~U~~.:~~.~~~~I:
tI
I' ,
"
~ ~
41 "
e c
\'I
to C' "
.
to
...
.
x
>I<
'"
F4
*$
159
.....
Chart ::iP.
.....
Diag~3m
x
EXSCAN."'1 . ' .
A'3
".
..
ES1~~~~.f\1.a........
...
NO
, ,
01..
IS
'.
.. ..
ITVM
'.Jm.hj'~~
tI..*
"'16
02..
IS
'. YES
K.AA~g~~n~T
11.533
' . NO
....
tI..*
'
.~
: TESTC
.*
EI
'.
E2
*.
:)( ~~~~~~~f K.
YES . '
....
re
K:..
IS
NO
. .IS- .
.'
**.
.**
YES
'E~~2~~~nN ~
*..*.
NO
..K
. .....
...
fr44
*.
*.
.. ..
1(:
....
*.
.... .....
NO ARGUMENT
SCALAR
YES
YES
: x "
....
.
..
II.
M12~:l~*H3.~ . . . . . . . .
WARNING
MESSAGE
CHCKS1,82
CHECKS,M~4...
..H4
H....
*
*
YFS
'.
CHCK T
Cop.,;t:13
J2
'.
*f'
A!IIO YfS
'.
PAR SliME
, *.
DATA TYPE
c*
ARG
*. *.
o c
....
.....
K
NO
81
..
....
......
~
K2
WARNING
MESSAGE
04
:~t~~:t~:~:
AGGREGATE
OUMM., OF
PARAMET Elt
DATA TYPE
J4
O~
A A
ES
MATCH
NO..
9.,
*. *.*
YES
)( 0 '
81
CHECK T
.Hao~
0D
AGGREGATE NO
NO R 0 ED
STRUCTl:'\1 ES K......
ARiu NT
MA f
~! MAic~~~
J3 K.
K
'16
................:..
..
H3 K.
YES
160
"'1c\
*..
..
..
.*.x '.
H2
.*
*.
.X..........
*. * . . *.*
.................
... '
J1
*..*
YES
YES
FRROR
MESSAGE
YES
....
.-.
H1 X.
....
Hl *
..G2
..G3
..G4
: ~5 =~
IS
PARAMETER ., NO
IS
' . NO
. ' ~1ti'l"Elf NJ
'IS A ~"U~LY
SC AL AR K A~~~~l=T . . . . . . . . . . . . K. ~l~~R~a p.Tl~2 ' IC: ~B~~rAn~o
*. * *.-
x
Hl..........
81
CREATE SCALAR
:
CHtn~~~ON
: ....
81 :
Gl
'.
IS
'.
'lJ ARGU"'ENT
x. AN ENTRY
~
'.
: *. :~R~2~~~~~!~"
.,"IATCH
;
*0
1.3
~.
00
PAR ANn
.................
1:3
.~
NO . '
04 IC.
03..
NO
ic
.'
YES
E3 K.
ic
.K..
85
COP~l~~~l.~
CREATE SCAl~R
PARAMPrR YES
~~M"'Y
~ESCRI T ~ . . . . . . . . . . .
~O~~ ER
:
....
NO
' .
:
... X.....*'.....'*
.'
YES
Nn
Hl
....
...
x
*. *
*. * *
lc
1"3
1.1
....
NO
IS
'
)(~ A~~~~~T
AIl.GI.JMFNT
SCALAR "
YES
NO
*.
' .
1.5
*...
.. ..
'.
: YFS
0"
*. YES
C'. 84 IS
,.
* END *. YES
*. *. OF TEXT .- )(
*. .*
GU
*0
83
CREATE A
CHAMELEON.
NO . '
IS
'.
AGGREGATE
.K..........
ARGUMENT
DUM..,Y'
SCAlAR . '
......................
.................
'
f'
EX3~,.:~~2..........
SCAN TEXT'
LIST.
C1
AI,
*.
*. *. ...
NO
81
..K
'.
)(
*.
PARAME'TFR YES
PARA..,
~ESCR~PTlO~ X.o SC~~AR
'GP
: 8S10
H3
A3
)(
*...)( .
....
HI
CHfCKT
.~?"':.
'" H3
*YES
J5
...K
00
90~~s
ill.
MATCH
.:.
*. *.*
'" YES
lUtlU.K5.:
CONSTR~CT
'"
A REOU FO
DOPE VE TOR
FOR l o G .
Chart 3C'.
...
A2 '"
"' '"
GU
..
Al'"
Al..........
GET SCRATCH
S T~RAGE FOR
CHE K TAB~E.
IN TlALI E
TEXT POIN ERS
ASt AN
A2 "'."' "''''.'''.
.................
o
il.
~.
........"'........
.....
SCIIN TEXT
" ' .
OJ<.
..
~
B2
.. ..
*. YfS
".
END
*. *. OF TE Xl *
NO
.......
fI
CI
C3
.HF
Al.
ATST3
CZ....
, YE 5
STAT EMENT "
,.
.. ..
01
AFM
*01 '
CALLA'"
-.~-.-.-.-.-.-.-...
.....
~
NO
.FoHousfNEKo1EP
INT9..
R
~ E .
x:
As~~~~l.tt~2~2......
.................
02
.................
.................
....
P~V~TP=E2~~I~ : x:PR5lH~M~~~NAL :
nR t:ALL STMTS
..0.............
ATEST...
115C C5 . . . . . . . . . .
.~JSSIBLE
SET PCSW CHFtl(
FOR
UPI)HE
TIIBLE CHECI(
FOR.
\It
IF-swH AT ONCE : . . . . . . . ,
04 -
8SCA=
-eo
)c
YES FUN~T~ON
MA K.R
..*..............:x.......... ....
: :51G~~~u~~~f~Eo
RESFT FMPTR
AS!:b:~~~~!.......
.. 05
X
Asel
:_._._~~~~t._._:
:x",," :sr:;~~kr~~~~~FO:
SCA"! TEXT
LABEL
NO
A?
ABGNIlI1
".'~ EI
'
TF-~~hcH
ATEST5
Itt
:x :;~.:
TWI C E .
:
..
E~~E
0.
(I.
THEN
BPC
.:.~~
i<
Al
'"
...F2..........
.................
~hH~~~~
....
.................
NO
..x
*0
F MPTR
SET
*.,
....
NO
BTEST4
F",
.,
F5
NAME
.................
'" .. ..
K
,~
0 ....~
*a
8ENTON
......
....
YES.
, "l(* 01
* *
o'.
f4
*e
......... STATEMENT
8STMT
F3
GO T n .
PSEUDO-CODE.
YES..
~S.
AZ .)(..... ROUTHoIF Tn
.1( , . . . . . . .
sw
CHECI( THIS.
FT
.STATEMENT TYPE.
O~
..
.K......
A"!o FMPTR
R~lrT*
lit
CH~CK UBLE
YfS
... .........
DOWNflATE
FOR ~ND
STATFMENT
~5
................
.....
................
.*G5PCSW *
NO..
NO
. . 3
ElY4RNO
.4~~~::;b
CAllA/CAUB
:X \o
YES
*G3 IS
O~TPUT
ic
BTEST3
E3..........
*.
1".** 1
C3
"..0
E2
SET FMPTR IF
ANY AR~MENTS
: c~~ckla.
~~~N :
FROM MARKER
.. .
K. fll
K
CALlIF'
Jl
'.
:;;iHr;s:::
90.
CALLBA
YES
~TPUT
I~n
x: G~TA~~~~~LAG : . . . . . . eo
OR ENDSW.
IS
NO
'<....
" ' . . . . . . . . . . . . .
J3
CAlSTM
: . .i~~C6=::
WAL. IT
NO
oil
C L8 . . . . . . . . . . . . K:
oil
X It
tI
CALSYM
X
K3
OUTPUT.
oe .t' o (\" fI
.,.(!I eo.tI.".OOOOC.III).X:
R~~g~:rO
YES
STATEMF.NT
SO~~~MTElCT
1'\
of)
CAli. EX
...............
1(4
!.o GoooX:
STATFMENT.
OIl
RETURN
161
Chart HF.
****
**
A2
***
MR
Diag~~m
*****
*HF *
* Al*
II "
K
MRTRT
K
MRBYN
.*.
****.A 1**********
*****A2**********
A3
*.
*
*
*
.*..
* INp~A\,fE
*
*
*
.*~TR!lCT~Rt*.YES
SCAN TElCT
: . . . . . . . . lC*. *~dh~~~~T." * .. "
: TEl(
0 N ERS : l(:
*
*
**************...
*
*
.* *............
J(:*
*..*
NO
E2 :
****
L SGET
B3
*.
.. ..
*.
....
ITEM IN
YES.
:~IrlT~H~~~t . . . . . .
G2 :
J(:
NO
LS21
C3
YES
: O
Cit
STR~~T~RF.*. .,
'10
,*
NO
.,
. *END
0
YES
.....
.
.
*..*
..
*.
*.
o.
05
*HK
. . . At.
**
.....01..........
:
:
EXPAND
ST~~~URE
..
LS23
05
..
:
:
.......
~I;~~F~~g
~~~pIE\~
:........
*...
.......
SAENOfSA 13
:
YES IS IT .'
:lC .......... "'. GElIi~TA .",.*
.*"'.............
x
* A2"'. *
**
02 ..
K
NO
1'2 lC
~ ARY
NECE
1'"..........
"'."''''
lC
lC
SAORAB
SA19
"'
"'''' E2'''.*'''......
EO;
:8n~DS~u~lt~~ :
:
RESET
:
YFS ' . T~~h
.UNT~L F~N~ BASe.'I( " . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SOURfiE POI~ITeR .X"" MORE ELEMENTS
:T~bpre~F'N~!l6EO:
lC
:
T START:
,
~....
NO
.................... .
....
.....
............
SA?"
FZ
0
* A2
SA32
*.
I~CE
F3 *
nul~~~TB~~g
:
POiNFR AT . . . . . . . . . . lC. R~hACF. IT IN
START
.SnURCE TElCT BY *
NElCT ITEM
NO
YES
~ ftX.X " fI
G2.. ...'"
K
:SATRT
......
.
*SCAN STRU,TIJIIE
: ,}~l(~HU"~~T :lC . . . . : Gl :
.........................
..
05
lC
: SAOP
.*
HZ
*.
*10
.*
yes
H1
. .,
*tI
H5.~
BYNU
BflCKSPACI;
.OUTPut POINTFR
Tn START OF
THIS SCIILAR
HA ~
'In
,
STRUCTURE . . . . . , ' 1( STACK BEEN , ..
!WI LT ,~.
*..*....
o.
*tIr.. . . *
NO
J?
..x
C'
*
vrs
..
. ..........
~
.. 00;
*.**
162
4. J' . *.
J4...........
.......
, . BY NA'!F. ., vrs
FOR.
.~Hl~~~~~t .. .. "'l(: ~i~t'H~~~~ : ...
.11
"
.
.
SA ~"
*f'
NO ."
END
.,
......
OF EXPRN
... OR ST'!T
*f'
: .. ~U12~~~~I
...:
x
YFS
tIr
*'
.. NO
'iV'll
AY'I13
C;E~QCH
***
*....
"<
.~
...0
J~
1( . . . . .
*0:
FOUN('
~
*
v~ S
r*'
Cl'J art
HK .
Diag~~n
HI(
AI
HRTRT
X
Al
.................
SCAN TEXT
x' ".
""EOP
.....
Bl
T~fl
(I
(I () '" 0 0 0
fI 00 III " :
.......... .
.".. x
..~
x-. e'B F
.HP
NO
~
Cl'
0..
. li ij .
.. ..
fT
"1. A E
~l'.
A1
.f
NES!~I.*C2
................
EARCH NisT~R
,'ES
AIE"EHT
xs
F
0
A 51G,... HT
LSTSCH
07..
NO
01'
~rt
1~3
" . i ffI
.. ..
.~O
..
AR~~ho~~U:
!~t
..!!Ii' E
Lith.
YES
X..
i)THER THAN
~l..
NO
';ES
SEARCH FOR
:
F IR~T ARRAV
IN E PRESSION:
x.
tc
El
....
Ihli
'1551 "NT
STA EM NT
N[)..
.*'
ARRASS
~~
Fl..
0fl 011
~
THU A ~s
: ~E~RG~~Bn :
:
LUt"~T:
.. .
.0............
... ..
~..
...I .....................................
.
..... .........................................
,..........
NO
","
AAMULA
61
Ai:
.F5....
.CI...............
................
0 ..................................... .
tI~.-.*
I(
P1HER
~!:l!~
,(..PS~ -vL~FTIABLE.
RBliJ..
:
0
EQUALS
:
. l.'TU'
IJ
....
AA3
F"..........
.CI
::~~N~R~~~pA~~Ry:
2"11.1. 11.: x.::P.ACH~~~~yON~:
STAlK ~OR
x. A~b Gi~~~2T~
[) HENSlnN :
:eu ST
HFN S :
01.
A
YES
NO
tc
.....H!....
111
.
."'Hl..........
X "
ARREXP
AETRT
: DoGlriR1tUNTS :
:
: INF~MfflON : X:
:I=.U:~ .0:
ST"~=ENT:
ARRAy~fJ~l~H
....
....HIt.........'"
SLMCG
~I...........
.....H5.
FRf'T"'P
: CHE AIUNOS :
:AOO SUeSCRTPTS :
:
GE~~~erF
:
:
: X: AglrA~l~ncl( : X: APPROPRIATELY :)(:FO~Tna~1i~UIES:
:=~U.,:::=U~~.:
::
: """:
:...............: .
163
Cr1art HP.
. ..
*****
HP
'"
AI"
'"
'"
......
A2
ic
..... "',\1 "'.........
INIT
. . . .
(I
0 II I I "
A3 ..
.'"
x "'.
OEFINI'O
*"
,..
"'. NO
,.
S~n~uPT x.o"'o
"'*
YfS
x.
: OEFSUII
X
A4 ,.:"'1.,
."'.
SCAN.
S~~~lE
:
: x:
r>oT~H<l.s
A;>..........*
MASC~N)C
INITIALIZF.
*.**
~'10
*"
T~~T
*0 *. II.
... VES
.",o
.. .. x
..
.1
A
.A'*
'."'
" 113 *
SK I P TO STAR T
..
:sUe~~Rn~O~~ST
.
.
"'''''''
..
'" C3 "'. x.
'" "'... x
OETEMQ
C3 ., "'.
IS
"'C, '"
'"
SUMOVF
.. "'.. '"..
'"
'" NO
..
.....
....
.. ..
EI
U~~ Uvt~So~
TE~P IN TMlF
.no;
"'-.-.-.-.-.-.-.-.
SUMnVE
OUTPUT
SUBSCR IPT
DIeT REFCF
1~~OT'ABkE
:
NO
ic
"' "'."''''.'''
X.e.".o.o.ec.e e
'(
OERCUR
"''''''''''.EZ
"'.
...."'.............:
,.
DEGRO!
FI,
ANV
"IORF
VES.
SUBSCRIPTS IN ".X. C~
Of FINED
YES
PUSH DOWN.
"'."''''.C'''''.'''.'''
J("'::N
~41~~~R o;:",~;, ..... x:
",.C&NSfANT .'"
.",.,.
"'. VI'S
'" SET
.
.
.....................
OEEN02
"'.
,"'.,
C!I ''""
'" "''''.''''"
''""
SCAN TEXT
OF SURSCRIPT
:4
. : . fU~i~~HT :.~~;
.0ICT REFCE.'"
01 X.
SUSCAN
DENGUe...
C5
"'.
SECOND
,LIST .'"
II"
"'
NO
)c
1'1
.....
.. ..
I SUfi
~lISU8S
VFS
FZ
OUTPUT PRIOR
TEXT. FIND
.......... ...
x:
c6UHp~~~~~G
'" NO
..
...x
HI.
..
"'. "'.
."''''H:>.''''''''''''''''"
'"
END
vr S
OF SUASCRIPT ."' X.
*/t
.'"
*
*
'" NO
..
...
,.
RETURN
...
f:o It
"'''''''*<l4
"''''''''''''' "'''''''.''''"
SIJMOVE
...
'"
'"
"'-.-"'-"'-.-"'-"'-.-'"
OUTPUT
..
'"
:::t!~i~~:h~!i",:
H4
l(
.*C'
"'.
'" ANY".
YES '"
MOllE
"'. NO
"'. SUIIS~RlPTS IN X.
...... 'siT.",.'"
:
~.
xx
'" "'.'"
01 '"
'" '"
JC
:DFNElCT
"''''''''''G2'''''''''''''''''''''''.
'"
OOTPUT
'"
"''''''''''
.. DtCT REFCE
'"
'"
'"
nF TfMP OR
"' .... X'" 01 '"
SUIISCRIPT
'"
'"
'"
'"
P:~:'1~~ER.
STACK
~TAT~'":NT
..."'''''''''''''''''''......
.'"
..
0l/TPUT SEll
OR
EMPS
''
OERETN
.'"
J5
."'.
WAS "'
THIS A
"'.
YES.'"
:X ............
C~b~oe~O"."'
Ift..*
"'
...
'" NO
''"" "'''''''.
AZ '"
'"."'' '.'"
164
*'"
r-----------------------------------T---------------T-----------------------------------,
I
IMain Processing I
I
Statement or Operation Type
I
Routine
I
Subroutines Used
I
I
~-----------------------------------+---------------+-----------------------------------~
IScans STATIC chain
IIL0100
IILOllO, IL0120
I
~-----------------------------------+---------------+-----------------------------------~
IGenerates DECLARE control block
IILOllO
ICHhATT, IriEENV
I
I entry
I
I
I
~-----------------------------------+---------------+-----------------------------------~
IGenerates OPEN control bleek entry IIL0120
ICHKATT
I
L ___________________________________ _______________ L _ __________________________________ J
~
r-------------------T--------------------------------------------------------------------,
I Routine/Subroutine I
Function
~------------------+--------------------------------------------------------------------~
CHKATT
IHEENV
ILOOOO
IL0100
ILOllO
ILOl14
ILOl15
ILOl17
ILOl18
IL0120
L IL0200
__________________
I
I
I
I
I
I
I
I
I
IReleases
control,
__________________________________
_________________________________ _
165
r-----------------------------------T---------------T------------------------------------,
I
I
IMain Processingl
I
Routine
I
Subroutines Used
I
I
t-----------------------------------+---------------+- -----------------------------------~
I Throughout
INon~
Iphase
t-----------------------------------+---------------+- ----------------------------------~
166
__________________________________
.J
.Table GB1.
r------------------T--------------------------------------------------------------------,
JRoutine/Subroutinel
Functicn
I
~------------------+---------------------------------------------------~----------------i
Processes FORMAT statements.
AFORMT
I
A4
Checks for use of COBOL files in READ, WRITE, and LOCATE statements. I
A6
A8
A21
COpy (GC)
Sets up I
I
I
DELETE (GC)
FORLST
F2
F5
F5A
Sells temporary.
F6
F6A
F6B
I
I
I
I
I
;IF7
~
I
I
I
I
I
I
I
II
LAB17B
II
I
LLDOIT
I
II
ILOCATE (GC)
I
II
Checks for the use of a COBOL file, and puts out a warning diagnostic.
Compares the PL/I and COBOL and PACKED(NCNSTRING) mappings of a
structure.
MAP (GC)
II
. MKROOM
MR
READ (GC)
SCAN2
Scans option list for end of option or statement, expands DO specifications, and changes certain function markers into pseudo-variable
markers.
SCNS
STSCAN (GC)
Stores the dictionary reference of the file and the INTO/FROM variable, and sets flags.
(GC)
. WRITE
_______________
.___
For
structures, the PL/I and COBOL
mappings are corrpared.
_________________________________
___________________________________
JJ
167
r-----------------------------------T---------------T-----------------------------------ll
IMain Processingl
I
Routine
I
~
~
Subroutines Used
~-----------------------------------+---------------+-----------------------------------~
IBASCAN
I
ICPST~T,
CRSTMT
I
I
r-----------------------------------+---------------+- ----------------------------------~
IBAFM
I
ISCANRP
I
~-----------------------------------+---------------+-----------------------------------~
IProcesses arguments
IBALOOP
IADDTGT, SCNCRP
r-----------------------------------+---------------+- ----------------------------------~
Table GK1.
IARGNOQ
INone
I
_______________ _ __________________________________ J
~
l ___________________________________
r------------------T--------------------------------------------------------------------,
I Routine/Subroutine I
Function
r------------------+---------------------------------- ----------------------------------~
ADDTGT
ARGNOQ
BABT3
BACALQ
BAD ELM
BAFM
BAFST
BALOOP
Processes arguments.
BALPQ
BAl'IJORE
BANORM
BAPVM
IExamines pseudo-variable.
BARECQ
BARGFN
BASCAN
BAS TOP
Outputs argument.
CPSTMT
CRSTMT
SCANRP
168
Scans argument.
ISCNCRP
L __________________
I
I
__________________________________ __________________________________ J
r-----------------------------------T---------------T-----------------------------------,
I
I
IMain Processingl
I
Routine
I
subroutines Used
I
I
~-----------------------------------+---------------t- ----------------------------------1
IPOLY~V
I
12
l ___________________________________ LI _______________ LI ___________________________________ JI
I
r------------------T--------------------------------------------------------------------,
I Routine/Subroutine I
Function
t------------------t--------------------------------------------------------------------1
IPMATCH
I
IPOLYMV
IMoveEi the routines POLY1, POLY2, POLY3, POLY4 and POLYS into scratchl
Istorage (see Table GP).
I
l __________________ L ____________________________________________________________________ J
169
Table GP.
r-----------------------------------T---------------T-----------------------------------,
I
IMain Processingl
I
I
Statement or Operation Type
I
Routine
I
Subroutines Used
I
~-----------------------------------+---------------+-----------------------------------~
IScans text for procedure and func- IBSl
IADDTT, STKINF, UNSTCK
I
I tion calls
I
I
I
~-----------------------------------+---------------+-----------------------------------~
IExamines argument lists for expres-IBS4
IEXSCAN, Ml, M4, ~16, SCANFR
I
Isions
I
I
I
~-----------------------------------+---------------+-----------------------------------~
ICreates temporaries for scalar
IM16
IADDTT, COPYTP, MKDCEN, SETBUY
I
lexpressions and constants
I
I
I
~-----------------------------------+---------------+-----------------------------------~
ICreates temporaries for array
IE2
IADDTT, CHCKB1, COPYTP, MKCCEN,
I
I expressions
I
ISETBUY
I
~-----------------------------------+---------------+-----------------------------------~
Icreates temporaries for partially
IE3
IADDTT, CHCKB4, COPYTP, MKDCEN,
I
Isubscripted array expressions
I
ISETUY
I
~-----------------------------------+---------------+-----------------------------------~
ICreates special temporaries for
IEX16
IADDTT, BS2, CHCKB4, CHECKT, COPYT1, I
Ipartially subscripted arrays
I
IMKDCEN, STKINF, UNSTCK, Zll,
I
I
I
I
ISETEUY, SETMT
~-----------------------------------+---------------+-----------------------------------~
IChecks single arguments (except
IM4
ICHECKT, M16
I
Istructures) with parameter descrip-I
I
I
I tions
I
I
I
~-----------------------------------+---------------+-----------------------------------~
IChecks single structure arguments
IM5
ICHECKS, CSTTMP
I
~-----------------------------------+---------------+-----------------------------------~
Icreates temporaries for structure
IM21
ICSTMP2, MKDCEN, CHCKB4, SETNT,
I
I
IADDTT
I
I expressions
~-----------------------------------+---------------+-----------------------------------.~
Icreates temporaries for partially
IZ22
IES2, ADDTT
I
Isubscripted structure
I
I
I
~-----------------------------------+---------------+-----------------------------------~
ICompare the two arguments of the
IPOLY1, POLY2,
IBS2
I
IPOLY3, POLY4,
I
I
IPOLY function and create
Itemporaries if the arguments are
IPOLY5
I
I
Inot both floating and do not have
I
I
I
Ithe same scale and precision
I
I
I
~-----------------------------------+---------------+-----------------------------------.~
ICreates special dictionary entries 1~37
INone
I
Ifor generic entry labels used as
I
I
I
lI arguments
___________________________________ I _______________ LI ___________________________________ JI
~
170
Table GP1.
r------------------T--------------------------------------------------------------------,
I Routine/Subroutine I
Function
~------------------+--------------------------------------------------------------------~
IADDTT (GR)
IBSl
~BS2
~BS4
I
I
I
!BS10
End-of-program routine.
~BS33
~CHCKBl
I
I
I
I
I
I
I
II
!CHCKB2 (GR)
Compares the bounds of argument and parameter arrays where the argu-I
ment is partially subscripted, and creates new dimension tables for I
temporary arrays.
I
I
I
I
I
I
I
I
I
I
I
CHCKB3 (GR)
CHCKB4 (GR)
CHCKSl (GR)
CHECKB (GR)
CHECKS (GR)
CHECKT (GR)
COPYTP (GR)
COPYTl (GR)
EX16 (GQ)
EX36 (GQ)
E2 (GQ)
E3 (GQ)
MKDCEN (GQ)
Ml (GQ)
M2 (GQ)
M4 (GQ)
M5 (GQ)
M6 (GQ)
IM10 (GQ)
L __________________
__________________________________ ___________________________________ J
171
Table GP1.
r------------------T--------------------------------------------------------------------,
I Routine/Subroutine I
Function
I
~------------------+--------------------------------------------------------------------~
M12 (GQ)
M13 (GQ)
M14 (GQ)
M16 (GQ)
M21 (GQ)
M22 (GQ)
M23 (GQ)
M24 (GQ)
M37 (GQ)
Creates dictionary entries for generic entry labels which are arguments.
M41 (GQ)
IError routine.
M44 (GQ)
POLY1, POLY2,
POLY3, POLY4,
POLY5 (all in GO)
Check the arguments to the POLY function and generate code to buy
temporaries, if the arguments are not both floating and do not have
the sarr.e scale and precision.
SCANFR
SETBUY (GQ)
SETMT (GR)
STKINF
TESTC
UNSTCK
Un stacks information.
Zll (GR)
Z22 (GR)
Generates text to assign the structure subscripts of partially subscripted structures to temporaries, and then to set up the dope
vector
for the partially subscripted structure temporary.
__________________________________ __________________________________ J
L __________________
r-----------------------------------T---------------T------------------------------------1
I
1
IMain Processingl
I
Routine
I
Subroutines Used
~-----------------------------------+---------------+- -----------------------------------1
~-----------------------------------+---------------+- ----------------------------------1
INone
IGENTST
I
1
~-----------------------------------+---------------+- ----------------------------------1
ICALL
~-----------------------------------+---------------+- ----------------------------------11
L ___________________________________
172
ISUOPQ
ICALL, LIST
I
_______________ _ __________________________________ J
Table GU1.
r------------------T--------------------------------------------------------------------,
I Routine/Subroutine I
Function
~------------------+---------------------------------- ----------------------------------i
ABGNDO
AFM
ASC
ASCAN
ASCL
ASPECL
ASTMT
ATEST4
ATEST5
ATST3
BENTON
BPC
BSCAN
BSTMT
BTEST3
BTEST4
BVARNO
CALL (GV)
CALLBA (GV)
~tatement
CALLE X (GV)
CALLIF (GV)
CALSTM (GV)
CALSYM (GV)
GENTST
LIST (GV)
MOVE
ISUOPQ
(GV)
Searches list for checked items.
L__________________
__________________________________
__________________________________ J
~
173
r-----------------------------------T---------------T-----------------------------------,
I Main Processing I
I
I
statement or Operation Type
I
Routine
I
Subroutines Used
I
~-----------------------------------+---------------+-----------------------------------~
Iscans text for structure assignmentlMR
I BYNAME, GENTST, LSTSCN, MOVE,
I
I
INSTSCN, STRASS, STREXP, STRURE
I
I Statements, regions of nested
I
I
I
I statements, output list expresIsions, and structure references in I
I
I
linput lists
I
I
I
~-----------------------------------+---------------+-----------------------------------~
IExpands structure assignments and
I BYNAME, STRASS,IDVCON, GENTST, LSTSCN, MOVE,
I
lexpressions into a set of scalar
ISTREXP, STRURE I NSTSCN, SBGN
I
lassignments or expressions corres- I
I
I
Iponding to the base elements of thel
I
I
Istructure operands.
Where the basel
I
I
lelements are arrays, the corresI
I
I
Iponding component expressions or
I
I
I
lassignments are surrounded by
I
I
I
lappropriately iterating DO groups
I
I
I
~-----------------------------------+---------------+-----------------------------------~
Iscans regions of nested statements INSTSCN
IMOVE, NSTSCN, STRASS
I
Ifor structure assignments
I
I
I
~-----------------------------------+---------------+-----------------------------------~
IAdds text to the output string
I MOVE
IGENTST
I
~-----------------------------------+---------------+-----------------------------------~
IDetermines space availability in anlGENTST
I MOVE
I
loutput text block
I
I
I
~-----------------------------------+---------------+-----------------------------------~
Iscans function argument and subILSTSCN
IMOVE, NSTSCN
I
Iscript lists
I
I
I
~-----------------------------------+---------------+-----------------------------------~
IConstructs DO statements and checkslDVCON
IGENTST
I
Ibound equivalence
I
I
I
~-----------------------------------+---------------+-----------------------------------~
IConstructs subscript lists for
ISBGN
IGENTST
I
Ireferences to dimensioned structure I
I
I
base elements
I _______________ I _ __________________________________ JI
lI ___________________________________
~
174
Table HF1.
r------------------T--------------------------------------------------------------------,
I Routine/Subroutine I
Function
~------------------+--------------------------------------------------------------------~
BYNAME (HG)
BYNl (HG)
BYNll (HG)
BYN13 (HG)
DVCON (HG)
GENTST
LSGET
LSTSCN
LS21
LS23
MOVE
MR
MRBYN
MRTRT
NSTSCN
SADRAB (HG)
SAEND (HG)
SAOP (HG)
SATRT (HG)
SAXl (HG)
SA20 (HG)
SA32 (HG)
SA36 (HG)
SA73 (HG)
SA79 (HG)
SBGN
STRASS (HG)
STREXP (HG)
STRURE (HG)
L __________________
statement~
I
I
I
Expands structure expressions.
I
I
Expands
structure references.
__________________________________
__________________________________ JI
175
r-----------------------------------T---------------T-----------------------------------,
IMain Processingl
I
I
I
Routine
Subroutines Used
t-----------------------------------+---------------+-----------------------------------~
IARRASS, LS~SCN
I
I
I
~-----------------------------------t---------------t-----------------------------------~
IExpands arrays into DO leops and
IARRASS
IFRETMP, MDE, OPTS~, SLGCH, SUBSKP I
Iscalar assignments; checks dimen1
I
I
and bounds
1_______________ 1___________________________________ J1
lIsions
___________________________________
11/0 lists in GET and PUT statements I
Table HK1.
r------------------T--------------------------------------------------------------------,
I Routine/Subroutine I
Function
1
t------------------t--------------------------------------------------------------------1
IAADOP (HL)
IExamines leftmost operand.
I
IAAMULA (HL)
I
I
AA3 (HL)
Checks pseudo-variables.
AETRT (HL)
ARRASS (HL)
Expands arrays into DO loops and scalar assignments; checks dimensions and bounds.
ARREXP (HL)
ARRIN (HL)
ARROUT (HL)
IFRETMP
MDE
MR
I
1
I
1
MRTRT
Scans text.
NESTAT
OPTST
SLGCH
SLMCG
176
IScans text for array and scalar assignment staterrents, for nested
/
array and scalar assignment statements, and for array expressions inl
GET and PUT statements.
I
MREOP
l/SUBSKP
__________________
I
I
I
1
1
1
LSTSCN
I
I
Skips
a subscript or subscript list.
___________________________________________________
-
I
I
I
I
I
I
I
I
I
I
I
I
________________ J~
r-----------------------------------T---------------T-----------------------------------,
I
I
statement or Operation
~ype
IMain processingl
I
Routine
I
I
I
Subroutines Used
~-----------------------------------+---------------+- ----------------------------------i
IMASCAN
I
IMOVE
I
I
I
~-----------------------------------+4--------------+-----------------------------------~
IDEFSUB
IGEN~ST,
ISUMOVE
INone
I
I
~-.----------------------------------+---------------+-----------------------------------~
Iscans subscripts
(in SULIST)
lI ___________________________________ I _______________
LI _ __________________________________ JI
~
Table HP1.
r-------------------T--------------------------------------------------------------------,
I Routine/Subroutine I
Function
~------------------+--------------------------------------------------------------------~
DEDONE
DEEND2
DEFSUB
DEGBDl
DENEXT
DENGUB
DERCUR
DERETN
DETEMQ
GENTST
INIT
MASCAN
I MOVE
ISULIST
ISUMOVE
Scans subscripts.
I SUS CAN
Scans subscript.
lISUSUBS
__________________
Replaces
iSUB by corresponding subscript
or temporary.
__________________________________
__________________________________
J
177
Chart 05 .
lc~ical
rranslator
Phase FloNchart
Al
~!t~i~'~.-.-.-l~:
: Opin~~RS :
..x
:;~~~IU="'Ric."'.I~:
."'At~FM
'fitt"'.."'YES
.-"'-"'~S-"'-"'A
AD""
K'"
PRo~iAS
G EN .'"
'" PRE-G
RiC '"
81
ill.
ill. '"
-ill
ill.
ill.
'" NO
"'''''''''''''v~'''
'"
'"
Cl..
"'."''''.~'''!'''
IL.' '
-.-t-.-*-*
ANY..
.PRE- HERIC
FUNt T ION YE S
--.-.ill.
REFERENCE X.
~1~Rft
.... .
....... -.
.....-..
.. .",.NO
'" 01 x.
:.:U.=
01
1!
I i~=.",:
ill.
01
:KAa~:
03"'",.
"'
"''''~~.''' '''''''''''''''
Y "' YES
:!2!t..~=!=!~-l!::
:.*.oftNlot=~Us"':
....0
.....Fl:
__
:
"''''.'''
'" .............
'"
:~i!"'~t!.-
t~~i:~n
178
l~
:.al.:
....
.....
Chart IA .
*1 A
* A1*
'~.AI
.. ..............
.,11.....
LOAD MODULE
AND
INITlALl7F.
'"
,~
*111..
IH K.
.x
....
Olilt tCleo.
ESCAN
l(
'~Bl
: !SC~~E~H~RFOR :
OP~~8ANg~ ~R :
PR GRAM
'"
:. l(:
(I'
/tit " . tI
........................
Cl
....K
....
1'1.
: .. e~ ~ ~ ~
.....
..: :~ ! .....
,. PROGRAM..
I(
NO
.IG ..
AI
01....
EST~~~ D~
PLIIC OPERAND
,
IS IT
... NO
IN SACK ANO
AN
1(.
~CAN TO
:
6p~k~d~G
'. ~~ERATO~...
.. ..
..................
YES
) ( . " 4)
'e ,
: EACTNC
:cg~p~HC~e!~~TS:
.. ..............
TFlCT
OPERATORS
~,
.-.
..
K
~nC: ............
I'ES
:~i11::.'
X..
AC ON
, F
Wf I GHT
LESS
*. * *
*...
* *
NE
NO
ROUTINE TO
YES
0 - " (' 0
NO
9~
AP~Rb~iIATE
EO
:
O~=2'tOR
1:
*G?
FIL~pO!!T
I~Rh~~K
......................
..
: EGENR
X
........ Hl ...
MOVE TRIPLFS
.............................
Otl.
..
TO
OUTPUT
......... ..
......... .
.. 81 ..
ic
FI;ENR
.. .......H 3.......... ..
MOVE
.......................
TRI PL ES.
TO
OUTPUT
.0)""
..
179
Chart 13 .
Phase IS
Lcgic Diagram
cver~ll
IG
At
GSI
A1
1(. SCAN TEI(T
.1( A1
.~.81
.*.x
B R . *.
.. ..
*..*
1(....
B~X I~P
: 83 :
YES
REP~ACf.
'XI ~~lS
1(:
....
....
....
.. ..
..................
...
.... .
FRP
TRIPLE
PR 1M!:
NO
BItt
Fl..
.1
8UMP STACK
x:
P2
NO
Gl
NO
NO
ic
OF
PROGRAM
YES
IM
A2
180
.....
Al
END
IIR2
ic
:"'xK: A1
p 3..........
A~~t~~T T O :
OU~~T IN
~UMMY
TO
STACK
Al
..
ADO
p"
8~F.HAlQP
....
.. .. ........ x:................... ...................
-...
.. ..
................. .................
DECREMENT.
STACK
K. Al ..
GNORE YES
. . . . T~~RE YES
TR I PLf' K I~ ~y=~
Al
C5.:
MAKE N e w .
OU .... Y
1(.
'"
E2
YES
K.
...x ..
.-. ... -.-
: ;~lt:.=:=
.. .. ....
.
. ....
................... ....
NO
to FUNCT ION
BR3 *C " . : . . . . . . . .
NO
: 02 :
x:
.................
1(:
..
C2..........
C3
IS
REP~ACE.
lWMY
YES
8V UV
0 X*.
P OF
-
TR I L E .
ACK..
FUNCTION v e s .
TRIPLE
ir
*r
,.II"HAS....
: B5 :
DU"MY
NO
MARK OUMMY
flEEN USF.O
USED
:
YES
FR
01
.................: 1( .. ,.
*..*
NO
8R"
.. ..
BUILT-IN
NO
EI
II
..8~IRS;...
BUILT-IN YES
BUY
:
: K:
C:bart Ii'''!.
Phas~
Over~ll
1M
...'" .
legic Ciagraw
"'' '
"'1M.
A2'"
'"
."''''A2'''''''''.''''''
''""
'"
LOAD
'"
: mv\~~ I~r' :
"'' ' ' "'."' "'.'" "'''''''. "''"'
."'' '. .
....
"'.
'" B2 K.
GNTR~~
:~l"''''
,pi~~wit :
..............."'' '
NV~~I~~NtOR
:
OF PR04RAM
"'~NO
..
ic
C2
....
.....
PROGRAM BEEN t.
."
FOUND
l{
.IT
NO
A~.
'"
:n~~~i~~t6:E;t:
...."'."'\.............
. .
,LEVEl
'"
INVOCAT ON
.STACKfNG TART '"
.OF OU ER LEVelS
....
E2 K.
'..
EZ
GNBIFH
*f ............
". H . 'VES
,:
::fJfLT!~= . e....... e.tI.o.JC:
.. ..
. ..F1..........
..,................
ic
F .......
...
.... .
:CH~~~ ~~~~~t~fS:
''................
.
.
'.
NO
ic
.................
'. CONYERT I.,G IF.
NECF.SSARV
'"
'"
.................
r~e6~~V~~~
GNFr27
..... ............
.................
ic
"'HZ
TN :
)(.TF.X~
:O~~A~~p~~~1t
FOLLOWING.
PR ME
: !~lti~ .....:
K It '
K
J? WA
S I!I eo 0 0 . fI
:;;t~~~O!N~e::
.....
NO
ic
o~r~~~~E
REFEREN~F.
.................
IN TEKT
'"
B2
...................
.......
X. F?
(t ., .:
FU~T~ON VF.S
.Ta NEl(~ LOWEST.
INVO At ION X.
LEVEL OF
HE TEO
INVOCATION
....
.. ..
: I"E~HS(VANO
C~j\MFLF6N
ASSIGNMENTS
.F~CTlON
.GNF~"
GNFM3
ic
' Kl..
:)a~c~A~~8U~~~p:
.................
:
.G.
GNL!l6
ic
.'.H1
:
~~~:Ti~Rlo :
NUMBF.R
GNAR 10
' G~
F2
FORM TABlI:
"...
OF FAMILY.
VES..
IS IT
MFMBER
.K PllI GENERIC
DESCRIPTIONS '"
'~
: 10E~!'lF( V~NO
CHAM~Le ON
ASSIGNMENTS
T:~~T~N~R'I
I l l .
NO
GNPLII~
B~~ff~JN
.................
..
.
J4
.. ..
GNflt\8
~5
*...
NO
RF.~~f~~T
FAMYLV
.................
..".
.' VFS
:
. ,
FlINlllON
00X.
., G!:NFRIC
MEM~ER
...*KIt..........
......
...................
..................
GNB16
:on~~lp~~~~L\N :
:
' TEXT FOLLOWING .X,........
.FUNCTION PRII4F ..
TRIPLE..
K5 ........... .
o~;~\~lr
REFERENCF
IN TEXT
181
AZ
IT
. 2
ic
:ANb01~1~~it"tiE
........8Z ... ..
...8Z..........
x..X ., e o
PGTXSC
83 ..
.......
....
HAS
SCAN TEXT.
ENA OF
YES
FOR RELEVANT X PROGR M 8EeN
TRIPLES.
FUND
X
11(
NO
WAS
81
...X ......................
C2
....
.. ..
.......
:.. F~~~H~"I
.: .~~ 1(:82:
FOUND
......*. *
YES
OZ X.
PGFUNC
I(
. . . . . OZ..........
.*
03
PGFNCP
0'0
*..
AL T E R .
WAS IT
YES
MODIFY
~ES~\'tj&Tl~~TUS : X /UNCT ON X: IF ~~~g;~ARV
.1(......
82
E2
NO
I(
*...
:x
NO
...x .
~L~NE
lOO~ 8E
G~NEhTeO
*.
.*
..
YES
ic
F2
*Fl
~UNHrON
YES
~PTlMllABL~
...*
Nn
S~"N
X: 8Ue~RTR~(es
..
:
TEXT
..x
:
:
.. ..
G3
........
....
NE~A'
TO
YES.
FU T ON
1(. OZ
DEl C EO
* *
NO
PGBUYS
H3
CHTiA~
A
NO
MElEON
*.
.. ..
.*
....
82
1(.
YES
ic
: . . . . J3 :
PGASS
: ~It.E;E
.. ..
DE~ETE
8UY
8UYI
TR I P LES
X:
AssibNMENT
~~X~~~ ~~~
K
*KIt.
PGFNCM
DELETE ALL
OTHER
REFERENCES TO
THIS CHAMELEON.
..................
182
r-----------------------------------T---------------T-----------------------------------,
I Main Processing I
I
Statement or Operation Type
I
Routine
I
Subroutines Used
I
ir-----------------------------------+---------------+-----------------------------------~
~Scans source text
IESCAN
INane
I
~-----------------------------------+---------------+-----------------------------------~
~Compares transfer vector
IEACTNC
\ECOO to EC10
I
~-----------------------------------+---------------+---------------------------~-------~
~Stacks transfer vector
IEACTNS
IESOG to ES2E
I
~-----------------------------------+---------------+-----------------------------------~
~Generates triples
IEGENR
IEGENR2, EGENR3, ENEWBL, ENOREP,
I
~ ___________________________________ I _______________ IEREPL,
ETRBMP
IL
___________________________________
JI
~I
.Table IA1.
r------------------T--------------------------------------------------------------------,
~Routine/Subroutinel
Function
I
~------------------+--------------------------------------------------------------------~
IEACTNC
Compares transfer vector.
IEACTNS
II
IECOO to EC10
IEGENR
Generates triples.
EGENR2
Generates triple for top stack operator, with blank first operand,
then deletes the operator from the stack.
EGENR3
ENEWBL
Obtains and chains new text block for output, resets output pointer.l
ENOREP
Deletes top stack operator, flags new top operand as the result of
the triple just generated.
EREPL
ESCAN
ESTCAC
ESOO to ES2E
ETRBMP
L __________________
t
I
found.
__________________________________
__________________________________ J
183
Di~gr~u
..........
"IX
el
..
..
.....................
it
e l .. .. ..
INlTlALl SE
..
x. x
......
...
I)
eUMP X
.... C l
SCAN TEXT FOR.
INTEREST ING
TRI PLE
01 X.
01
....x
...
*.
02
END
YES
OF TEXT
X.
BLOCK ."
.. ..
*..*
.. ...
NO
E2
END
OF TEXT
YES
.ENO OF PROGRAM.
. . . . . . . . . . X.RELEASE CONTROL . . . . . . . . ,
*. * . . *.*
.................
.
.
ic
EI
GET NEXT
TE XT eLOCK
NO
JD
AI
.
.................
ic
. . F l
SELECT
APPROPRI AT E
R(lUTlNE
TEST ic
Gl
TEST OPERANDS
FOR
AND PO INTER
..................
.,.
..x
HI..
\I~~ER VfS
0
OPERAND IN II
FRROR
o.e.e
.!fl.."...........
*.
Jl
NO
...x
*.
J2
A.Fl F
THEPE >2(' YES
SET UP
,
TEMPORARV "oo oX. ERROR MESSAGE
ANf' ABOR T
, RESULTS
*. * *
'lO
.** .....*
.....
...
ic
XA
AI
l.04
*>iJ..........
..
:
SET U P :
:
oroX. ERROR MESSAGf: *Ol)"t-flO'.I"X.
H4
ERR~KTTW~PlE:
......
IN TeXT ANn *n"f'oX* 01
EII.ASI' RAO.
STATEMENT.
............
JO
u
(NITI
x
r:ii:
POINTER~ E~C
:~'r~n
GET SCRATCH
C:ORE FOR STACK.
....
x " oc ee
SCANT
X
Cl..'"
SCAN TEleT
STAKOP
*
:'" Fg~TR ~R~~t~
:X
IPLE S
*
"'''''''
..............
"'C5"'
C5
! .... X:
:x .. :
."'.'"
X
"'05"''''
..
~X*
:F~g~ET~~!.~~UK
El..........
:
END O F :
PROGRAM
E2
0" X
STACK EMPTV X.
.'..
....
SCR=H~A~6RE
AND
*.o n,,o.
NO
BTHT I*,a~~
.c aNTROL STACKNG.
ABORT IF
STACK FUll
:RETURN CONTROL :
''
TRYFLG
E3
YE S
''
.E5.....:
WINDUP
..... ......
INTO TEXT.
ABORT II'
STACK EMPTY
.."'' '
"'
IS THE
"'................
.. ............
UNSTAK
x:
"
MORTXT
01 "'.......
02
GET NEleT
EN!) I F "
.BLOCK IN ~HAIN,.
aPERAND
<;TACKING
F\33~r~~Lg~~s
~ . .
JI
AI
'"
o.oa
" F 1 "'.......
' X.
E NO OF
EXPRESSION
F2
'"
om
,.*
."
IS..
F 3
NO
X
THE'STACK " . X.
EMPTY.'"
*. tIt.
,,*
PUT OUT
MESSAGe
AND ABORT
PROnUCER
,,,
",,,,~.,,,.,,,
.. ... .....
.
'"
.."' "'
'" YES
It.CI
"".l'
" 1
'"
lERn STACK.
0 0)(.
TEMPORARY
'
" X.
CIj
NO
PREF I X
tIt.
"''''Jl '''''' ''''''
"'J2."'''''''.'''.'''..
J3
tIt.
"'''' J4 '''
JS
:
:
:ROUTINE CHECKS:
NUMERIC YES
: A~~E~A~~G~EII :
: ~~~LR~=I~~fo :
X. UlNARY PREF IX "' X.
OPERAND'S
X"'. CONSTANT
."' X. DIeT. ENTRy"' X'" STACK TfMP,
IF MINUS
'"
.SET SFLAG r2
'."'''' **
. "' "' '"
''
*..*
'"
tIt.
"' "''''''''''
.."'."'.....
"'.
Kl "' "'.
'"
O 0 0 0 0.
..
."'.'"
"'.
.
.
...'".
"'....."'..........
oooX.
.0
oo o '
.
....
.
.
..,,,....
UPfl(T
X
"'FS"'
UPDATE TI;XT
0 . 0 POI NTE R RE SE T
TFUG TO lERO
''""
INERT
TRIPLE
.."'' ' ' ' '.. ... .. " ' ... ....''........'"
'"
''
"'.
'"
'" C5 '"
.."' K2 "'."''''
'"
"'' '
Xx
'" II o.,.,.oo~.a
., C1!')eo0:-.(\"
s~ction
185
r-----------------------------------T---------------T-----------------------------------,
I
I Main Processing I
I
Statement or Operation Type
I
Routine
I
Subroutines Used
I
I
~--------------------~--------------+---------------+-----------------------------------~
IScans text for BUY aggregate argu- IGS1
IFR, BR, TRF1, GS12
I
Iment dummies, end-of-block, and
I
I
I
lend-of-program triples
I
I
I
~-----------------------------------+---------------+-----------------------------------~
IObtains next text block
IGS12
INone
I
~-----------------------------------+---------------+-----------------------------------~
ITransfers text to output block
ITRF1
INont
I
~-----------------------------------+---------------+-----------------------------------~
ITransfers text skeletons to output ITRF2
IGS1, TxF1
I
~-----------------------------------+---------------+-----------------------------------~
IStacks and unstacks information on IFR, FRP
INont
I
lencountering function and function I
I
I
I triples
I
I
I
~-----------------------------------+---------------+-----------------------------------~
IInserts assignment statement for
IBR
IGS1, TRF2
I
laggregate
argument dummies
I _______________ I ___________________________________ JI
L
___________________________________
~
Table IG1.
r------------------T--------------------------------------------------------------------,
I Routine/Subroutine I
Function
I
~------------------+--------------------------------------------------------------------~
BR
Inserts assignment statements for aggregate argurrent durrnies.
I
BR1
BR2
BR3
BR4
FR, FRP
GS1
GS12
TRF1
TRF2
L __________________
186
I
I
ITransfers
text skeletons to the output block.
__________________________________ __________________________________.J
r-----------------------------------T---------------T-----------------------------------,
I
IMain Processingl
I
r-----------------------------------T---------------T-----------------------------------,
J
IMain ProcessingJ
I
statement or Operation Type
I
Routine
I
Subroutines Used
I
I
~-----------------------------------+---------------+-----------------------------------i
JSelects function for processing
IGNFUNC
IGNXTRP
I
~---------------.--------------------+---------------+-----------------------------------~
ISelects generic procedure
IGNPLIG
JGNDRTA, GNXTRP, GNFMID
I
~-----------------------------------+---------------+-----------------------------------~
ISelects generic Library routines;
IGNBIFH
IGNARID, GNCBEF, GNCACI, GNC1BI,
I
Idetermines function result
I
IGNGNCR, GNPRSC, GNSACH, GNSAPC,
I
J
I
I
IGNSBAR, EXPANL, GNSAPR, GNSBRT,
I
I
IGNSFMS
I
~-----------------------------------+---------------+-----------------------------------i
ISelects chameleon du~my and insertslGNCHAM
IGNXTRP, EXPANL
I
lit in relevant dictionary entry
I
I
I
~-----------------------------------+---------------+-----------------------------------i
IControls scan of text -- branches
I EXPANL
IARITH, LST1, SUBSPT, ASSIGN
I
processin9 routine
I _______________ I ___________________________________ JI
lIto
___________________________________
~
187
.Table IM1.
r------------------T---------------------------------------------------------------------,
I Routine/Subroutine I
Function
I
~------------------+---------------------------------------------------------------------1
Calculates type of result of arithmetic operation (except **).
ARITH (IN)
ASSIGN (IN)
EXPANL (IN)
GNARID (IP) .
GNBIFH (IP)
GNB08 (IP)
GNB16 (IP)
GNCACI
GNCBEF
GNCHAM
GNCTBI
GNDRTA
GNEOB
GNEOP
GNFMID (IQ)
GNFUNC
GNF04
GNP027
GNFM3 (IQ)
GNL06 (IQ)
GNGNCR
GNPLIG (IQ)
GNPRSC (IP)
IGNSACH
IGNSAPC
I
Examines second and third arguments of the SUBSTR built-in function I
IGNSAPR (IP)
I
l __________________
188
I
I
.Table IM1.
r-------------------T--------------------------------------------------------------------,
I Routine/Subroutine I
Functicn
I
~------------------+--------------------------------------------------------------------i
GNSBAR
GNSBRT (IP)
GNSFMS (IP)
GNTRID
GNXTRP
LST1 (IN)
(IN)
L SUBSPT
__________________
IAdds
of array to stack.
______type
______________________________________________________________
JI
r-----------------------------------T---------------T-----------------------------------,
IMain Processingl
I
I
I
Routine
Subroutines Used
~-----------------------------------+---------------+-----------------------------------i
IPGTXSC
IPGT01,PGEOB,PGECP
~-----------------------------------+---------------+-----------------------------------i
INone
~-------------------------.----------+---------------+-----------------------------------i
.-----------------------------------+---------------+-----------------------------------i
IDeletes 'chameleon' reference in anlPGPASS
INone
I
lassignment triple and alters the
largument triple to indicate an
lintermediate result
I
I
I
I
I
~-.----------------------------------+---------------+-----------------------------------i
189
Table
I~l.
r------------------T--------------------------------------------------------------------,
I Routine/Subroutine I
Function
I
~------------------+--------------------------------------------------------------------~
PGASS
IDeletes 'chameleon' assignments.
I
PGBYAS
PGBUY
PGBUYS
I
I
I
PGEOB
PGEOP
PGFNCM
PGFNCP
PGFUNC
PGNEXT
PGSELL
PGTXSC
Scans text.
IPGTOl
L
__________________
Determines
action to be taken for a significant triple.
___________________________________________________________________
_
r-----------------------------------T---------------T-----------------------------------<1
I I
I Main Processing I
I
I I
Statement or Operation ~ype
I
Routine
I
Subroutines Used
I
I ~-----------------------------------+---------------+-----------------------------------.~
scan routine
IBUMP
___________________________________
_______________ I~ES~,ERASER
___________________________________ .1I
I LIMain
~
r------------------T--------------------------------------------------------------------<1
I I Routine/Subroutine I
Function
I
I ~------------------+--------------------------------------------------------------------<~
I IBUMP
Iscan routine.
I
ITEST
ITests operands for pointer and area data types
I
I
I
I
bad statements.
I ERASER
L
__________________ IProcesses
____________________________________________________________________
.1I
~
190
Phase
JD
r-----------------------------------T---------------T-----------------------------------,
statement of Operation
~ype
IMain Processingl
Routine
I
Subroutines Used
~-----------------------------------+---------------+-----------------------------------~
IINI~l
INone
~-----------------------------------+---------------+-----------------------------------~
I SCANT
I MOHTXT, PREFIX,
CCNCA~
.-----------------------------------+---------------+- ----------------------------------~
IHandles stacking/unstacking of
ISTAKOP
IUNS~AK
I
ILoperands
I
I
___________________________________ _______________ _ __________________________________ JI
~
Table JDl.
r------------------T---------------------------------------------------------------------,
I Routine/Subroutine I
Function
.------------------+---------------------------------- ----------------------------------~
CONCAT
INIT1
Gets scratch core for the stack, initializes slots and switches.
MORTXT
OUT
lS
I
I
I
I
not emp-
PREFIX
Detects unary prefixed constant, makes new list entry and puts ref.
in a slot, for stacking.
SCANT
STAKOP
TRYFLAG
UNSTAK
UPTXT
l WINDUP
__________________
I
I
Releases
scratch core and returns control
to the control phase.
__________________________________
_________________________________
_
191
Aggregates
Chart 06.
Lo~ical
******
*"6
* 81*
** *
it
*****81****
.STRUCTURE ******
JI.
*-.-.-*-*-.-*-.-*
STRUCTURE
PRF.PROCESSOR
.
*
it
..
.-.-.-.-.-.-.-.-.
:;;;~E t~~;
~~:
STRUCTURE
PRCCESSOR SCANS.
DATA CHAIN
* *
..it
01
02
.OEFINED
JP.
ANY
YES
.-.-.-.-.-.-.-.-.
OEFI"IEo
x.
nFFINED
ITEMS
..
CHFCK
*. *. *
.....
[7
A1
192
** ..
......x
.. "10
.n7
A1
Phase
Fl~wchart
JI
U
Al.~ ......... .
.'................'"
81.!......... .......82............
...
................... ...'...............
LOAD CONT
'fM1JNTS
MOVE
AND RELE SE
LOAD IEMJK.
08TAlN FIRST
AND tEMJL
)(. CHAtN HEAO
"
...,
C2 , ..
.0".....
.
.................
CI./IO.
SFT
,.eXT CHAIN
)(
x'
................. x.:
41.
.. ..
*.
OF E~IN
.:.~~~ )(:
*..*
01.;.
':"
x
..
NufEhEM
..
X 01
..02
..
: )(.:lAST CHAIN
*.
*.
,,-
YFS
.0"
....
GET
COBOL CHAIN
*,........
E2-
X
*.. *.
.*
LOOK AT
ENTRY ON CHAIN
' Et
HE:~~AIN
Cit . *
.... *:.
.~
.................
NO
.~
C3..........
.~
PM~ n~~
CHAIN 2 "
VARU8LE
.....
YES
JK
AI
.F2:
ic
PM~ n~;
CHAIN 1
STRUC TURE
..
...
.
..
..................
K
,...' F"
MAP
ic
.-
G2
.X...
..
.
X . 0
01
*.
.:$
*.
..ic
.*
G4
*e *.
.. ..
*.
... **F5.;.
GET
NEXT ITEM
*..*
G5
NO
PUT STRUCTURE'
n X. ON CORRI'CT
AUTO CHAIN
YES
H"..
.................
..................
)(
*.
AOJUSTABLF
*0
4'. AnJUSTA8LE
YES
H2
ic
NO STRUCTURE
OR ARRAY
III
*..*
*. 0*
NO
)(. 01
YES
ic
J2.
MilKE ENTRY
FOR LIBRARY
ROUTINE
.................
193
....
Chart JK.
.....
..
....
A2
JII:
AI
.....A1..........
CHNSCN
A2 .. '.0
:K...
c~if~lO~6~:
slge~iE
....
.
Al
Bl
...x
*.
~~21 NS
: . OF
CI
MAKE A OVO
:
:
Al
x
.....
.A1
NO
CHKOEF
x:
.
.: .~~~
*. * . . *.*
X
MKOIIO
NO ~Y2
ves:
REQU? EO ............
.
""
:.K:
:
.....A3..
.JP
*CZ..........
....
..
NO
GET BASE
C3
l~
YES
olFlneo
'
K:
C4
.* ..!!Ai *. N O ..
Kl~EII~g
K:
....
..
YES
OZ..
03.~........
i4..........
00
III.
.FZ...FZ.t .
.. ..
*..*
MAKE AN ROV
MKO2 c
..REQU~fVREO ..
NO
*. * . . *.111
H2
...
*. YES
.*
*. YF S
ARRAV
K AnJUSTARlF. ......
*. *.
*. *"
.*
....*
x
*
*
*. ro"NO
NO
...
.. ..
JI
F IKEO
seAL AR
*. * *.*
.......
KI.a........
:
ADJUS U R l
STRING E
:
: :
K.: '"
til.
AUTO
*.,
III
..
'" .
.*.
194
.................
H4 ..
..
11:5
G'5 .
.i.VES
X..
.*
6.*
NO
Al
.*"
....
... .
...n
....
*0
AUTOMATIC
CT~
ves.
X OR T liP ........
1'5 :
'"
....
x:
G NERATF.
ODE T n
RFlOC ATE FlV . . . . . . . . .
Vo,,
:..~~l~~~'*U~: :
x..
Al
i NO
J,' '
YFS
:
K.
:
Ge~5~ A~a
RELOCATE
FlV VOA
~~~~=~~~l~:
....x .
.....
'"
'"
F4
:
'"
IS
RJV
REQU REO
'"
.. ....
VFS
......
...
K5
AlV~~' K)
foIO
x
'" "' Al '"
At :
"'AKE
ROV AND
..... eo
CHAIN
AlV~~~ ~4..........
X. E4
K"..
x:
'I(
J2"'
Flo
' 1(
................
YFS
NO
....
~IBRARV.
s~atH~~
*.
:.~~
!II
.....G4............
MAKE OVO
GENF.RATE.
IS.
Rt~u?Rlo
A2
3.:
.....H3..........
:..................:.......
....
YES
F2
ic
III.
SI
1:5
.~.
.:.
K. F'
.. .
'ROeOT
veel
::
.,:
K.
ES
ReLOCATF
BV O~PE
a X.
~O
..F4...F4 .
....o
..
: VF.i
:
K.
TE"P
ic
GZ'
HI..
x.o OR
..
..
.................
...
NO
'"
ic
:.
TEMP
.:.:~~ ..... )(:
III.
1;4
1!4
cn
YfS
..F3....
..
F3..........
X.
"
.. .
..
.~S
.0 X. Al
SETOVS, SETOVA
El..........
STBMUCATPUBE.
A
x ADlu,TA'kE x*
.'1.fIEM
UCTU~~..
)( EN
:
.:0
G ~5~A~5:
:
GE~5~RAl~
5 T RASE
x.
R~LO ATE
ESS:
.: DEFINE ITEM
PROCST...
EZ
ANV
NO
.....05........
STB~U
El
IS
YES
VES Bl;~ NO
:
MAP:
:
Al .x IUITA'
FOR x. DEFINED ITEM ,X.
AoBIE lNG
:
: :
..
MAP BASE
X.
" OR Il\!
X
Ko; "'
:
G~~6~A~8
:
SET ITFM
AI')ORF.SS IN
Rnv
.................
....
x
...
...
Al
'" .***
..
..
Cl
JP
Al
I EM~: Al.~ ~
A2' i.:~
.. x: DEFI~~~NCHAIN
~ ~~~~ ~~
x.:
EN
OF CH~IN . : .
: .................:
Diagra~
Chart JP.
x:
K
~~s~...
YES
x:
Al :
::::.:
Al.
'.C~RRE~PONb! NO
:.X.I~.DE~~NfNG
_. ..
*
C2
<
)(*11;"
X ...* (t ...
StR~TORE
. Bit
.~ES
d..
fRu ,
OF PA~K~O
STRINGS
*.
.-TN.
....
*
*
YES
r~ A~I.'
1(....... .. III..
O~
.
NO II
IN
SAM
TYPE
0 0
ERROR HE SSAGf.
t>
x
l
05
...............
F.RROR
GETCLS
, ..
E5
: NO
IIRF.
: B5 :X.:~~.: AAS
,9~~'~~g "':.X :
E SAME,.
....
TVPES
B4 .x
:
\.
P5
YES
ARE
X.:~E~~~ch~tijG;:
OF 8ASF.
... TYPE
*
*
NO
eft
...............
*
YES
NOTEI
o. e.o:
NO
G4.
X:
ERROR
:
*
YES
X fl
X
..
~i
*. NO
$A
..x
G3
....
.:.:;~ ~:
*. 00NO
NO
OE~'N~O YES
NO
* -
NO
*0
e. e
*.
G2'
....
X. A I
. . . 15 BA~E' YFS
CI.oX PACKE.
Fit
..:.
SHE
.. :.~~~
STRING
Fit
rc
.-.
Hl s:h
CS
Al
Pl
Fl
JP542
rc
....
~O
.-.tc
...,.............
..
....
~gI
~E'S
B5
..
NO
0 0 .0 0.0.
..rJ4
0.
ABLE
0*0
X
F2
' Pl..........
YES DE~INE
".
ERROR
.X ITEM Y RV~NG
STR NG
.;,
......0
. ...
....
.;,..
AA5ij~T-
oe('oX
oo ...
.,....
o.
*..*
*
*
NO
*
*
NO
t.
Cit
..gl~E ~~..
JP541'\
E2
el~ E
YE S DE~~NEO
COOED
X.......... IT EH ODED
ARITH
AR TH
*..*
'f
.....XX.:irE~Eol~~2s-:.~~
X"':
..
IONED
ic
TYPF.S,.
.1(..
03
II
.~O
03
*.
....
YES ~...
. ~'.
.~..
*...
*
.
El
NO
AS
.IS BASE.,
DEFINFD
JPlf'l
OfIJNEO YES
8ASE YES
X PAlK~D oe o.X.(j.~ S RUCTUR~
*0
JP5lt3
NO
JP541
AI,
ARE
DEFINED YES
NO
02 IS
: . DHJ~EO :.!;~
A LABEL
.'., ....
sTRucTu~ttl)~,xoxl"l!~:M~~A'~;~*o
...
C3
9~HNEO YES
t.
NO
_ t
:X '1.
: NO
83
IS
., YES
F4
: YES
t.
Cl
~.......
Al :
Cl
........
JP2!'1'
x:
i.:~ s
NJ . . . . DE~~NED'
TE aF IIBi~EBSET
... .
A4..........
ER ROR
N? , ....... "
~O
'.
J2
"fc
It'
l~
.111.
D".~N~foNEn
_..*
*.
NO
y~S
.,
J3
81~E'
NO
SUf:lSCRIPTED
.'.,
X.,
*e
0.
X..
J4
*.
IS
NO
JS
ARRAy
EIIROR
PACKED
X.
*...
.0 o.
n.
*. YES
VE S
.............
)(
VI'S ~;I~F~~~~~ NO
Al "'( , ITEM ADJUST- ,
.)(
IIAlF..
~
*c
e* ".
*.
NO
GETI.I~ K4..........
K 3'
KS
:ER~tt~EII2fiF~~~n:
.>11".
BAS
.0.0
X.
WITH BA.5F.
'(..
GRF.AtER
lP.~GTH
.
*1'1 c *
0 6 II II
r<
II)
no.
II II 0 0 1'1 (10 _
no.
II
II
~ II 0
II 0
YFS
195
r-----------------------------------T---------------T-----------------------------------.,
I
IMain Processing I
I
I
Statement or Operation Type
I
Routine
I
subroutines Used
I
~-----------------------------------t---------------t-----------------------------------~
ITO re-order the STATIC AUTOMATIC
ISCANA
IMAP,MAPA
I
land CONTROLLED chains and to proc- I
I
I
less structures
I
I
I
r-----------------------------------t---------------t-----------------------------------t
ITO scan down the COBOL chain for
ICOBOL-mapped structures
ISCAN
I
IMAP
I
I
I
~-----------------------------------t---------------t- ----------------------------------i
INone
I
I
I
I
I
r-----------------------------------t---------------t- ----------------------------------.~
ITERMIN
I
INane
I
I
I
~-----------------------------------t---------------t- -----------------------------------j
IMAP
INXTRF1,NXTRF2
r-----------------------------------t---------------t- ----------------------------------~
IMAPA
I
INone
I
I
I
r-----------------------------------t---------------t------------------------------------j
ITO find the next member of a struc-INXTRFI
I
I ture
INone
I
I
I
r-----------------------------------t---------------t------------------------------------1
r------------------T--------------------------------------------------------------------,
I Routine/Subroutine I
Function
r------------------t---------------------------------------------------------------------1
MAP
MAPA
NXTRF1
NXTRF2
I
I
I
l
I
il
RECHAN
SCAN
SCANA
I
II
II
lITERMIN
__________________
196
To
transfer control from IEMJI to __________________________________
IEMJM
__________________________________
JI
r-----------------------------------T---------------T-----------------------------------,
I
IMain Processingl
I
I
Statement or Operation Type
I
Routine
I
Subroutines Used
I
~------------------------------------+---------------+-----------------------------------~
Iscans AUTOMATIC, STATIC, and
ICHNSCN
IADHDV, CHKDEF, MKDVD, MKRDV,
I
ICONTROLLED chains
I
IPROCDT, PROCST, SETBRF, TERMWS
I
~-----------------------------------+---------------+-----------------------------------~
IProcesses DEFINED items
ICHKDEF
ICMPIL1, INOBJ, PROCDT, PROCST,
I
I
I
I STBASE
I
~-----------------------------------+---------------+-----------------------------------~
IProcesses structures (calculates
IPROCST
ICMPIL1, INOBJ, ELSIZ
I
loffsets, multipliers, sizes, align-I
I
I
Iments and padding; generates objectl
I
I
Icode)
I
I
I
~-----------------------------------+---------------+-----------------------------------~
IProcesses arrays (calculates ~ulIPROCDT
ICMPIL1, INOBJ, LOADCN, SP54
I
Itipliers and generates object code I
I
I
~------------------------------------+---------------+-----------------------------------~
ICalculates storage offsets for
IPS25
ICMPIL1
I
ladjustable items in structures
I
I
I
~------------------------------------+---------------+-----------------------------------~
ICalculates storage offsets for
IALVACA
ICMPIL1
I
I
I
I
I adjustable arrays
~------------------------------------+---------------+-----------------------------------~
ICalculates storage offsets for
IALVACI
ICMPIL1
I
I
I
I
I adjustable strings
~------------------------------------+---------------+-----------------------------------~
IGenerates code to initialize stringlSVARY
ICMPIL1, INOBJ, IPDV, VOBJC
I
Idope vectors for arrays of varying I
I
I
Istrings in structures
I
I
I
~------------------------------------+---------------+-----------------------------------~
IGenerates code to initialize stringlVOBJC
ICMPIL1, INOBJ, IPDV
I
Idope vectors for varying, nonI
I
I
tstructured arrays
I
I
I
~------------------------------------+---------------+-----------------------------------~
IGenerates code to calculate the
ISTBASE
ICMPIL1
I
Istarting address of storage for
I
I
I
loverlay defined items
I
I
I
~------------------------------------+---------------+-----------------------------------~
IAdds text skeletons to the output
ICMPIL1
INone
I
I
I
I
I stream
~------------------------------------+---------------+-----------------------------------~
IMakes dictionary entries for dope
IMKDVD
IELSIZ
I
lvector descriptions
I
I
I
~------------------------------------+---------------+-----------------------------------~
IMakes dictionary entries fer recordlMKRDV
IMKCNST, CMPIL1
I
Idescription vectors
I
I
I
~------------------------------------+---------------+-----------------------------------~
IGenerates code to set the address
IADRDV
IINOBJ, CMPIL1
I
lin a record description vector at
I
I
I
lobject time
I
I
I
~-----------------------------------+---------------+-----------------------------------~
Icalculates the length and alignmentlELSIZ
INone
I
lof scalar data items
I
I
I
~.-----------------------------------+---------------+-----------------------------------~
Isets
offsets for BASED variables
IBASED
L.
___________________________________
_______________ INone
___________________________________ JI
~
197
.Table JK1.
r------------------T---------------------------------------------------------------------1
I Routine/Subroutine I
Function
I
~------------------+---------------------------------------------------------------------\
\ADRDV (JL)
AUTOMA~IC
RDVs.
ALVACA (JL)
ALVACI (JL)
BASED
CHKDEF (JM)
CMPIL1 (JL)
ELSIZ
INOBJ (JL)
IPDV (JM)
LOADCN (JL)
MKDVD
MKRDV (JM)
Processes arrays.
PROCST
Processes structures.
PS25
CHNSCN (JL)
SETBRF (JL)
SETDVS
SP54
ISTBASE (JM)
I
I
ISVARY (JL)
I
I
ITERMWS (JL)
IVOBJC (JL)
~
~
~
I
I
i
I
I
~
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
IL __________________ ____________________________________________________________________
structured arrays.
JI
~
198
r-----------------------------------T---------------T-----------------------------------,
I
I
IMain Processingl
I
Routine
I
~ubroutines
I
I
Used
~-----------------------------------+---------------+- ----------------------------------i
IIEMJP
I
I
I
~-----------------------------------+---------------+- ----------------------------------i
Table JP1.
r------------------T--------------------------------------------------------------------,
I Routine/Subroutine I
FUnction
~------------------+---------------------------------- ----------------------------------i
GETCLS
GETLTH
IEMJP
JP8
JP20
JP200
JP540
JP541
JP542
JP543
ele~ents
are ofl
Table JZ.
r------------------------------------T---------------T-----------------------------------,
I
I Main Processing I
I
Function
I
Routine
I
Routines Used
I
I
~------------------------.-----------+---------------+ -----------------------------------i
I
I
I
I
I ___________________________________
EnllLE-Q/36Q: BLDL
I ________. _______ I ___________________________________ JI
L
~
I
I
199
PSEudo-Code
Chart 07.
-....
L~gical
..
Phase F1Jwch3rt
1'7
AI
.-.-.-.-.-.-.-.-.
A3
A4
ANY..
.CALLS I: F"IS
I1L
GENERIC YES
.-.-.-.-.-.-.-.-
ARGUMfNTS X.
PROCESS
r,t:NFRIC
.................
UTILITY
SCANN ING
PHIISE
81
..x
DYNAMIC YES
INITIAL
.. ..
*.
..X
11 I
SCAN
LA.
NO
.. ..
.................
.!.
NO
B2
LR.
.................
.. ..
X. CONSTRUCT P-C
TRIPLES FOR
.DYNAMI C I NITI AL.
.COMPIL ER FNS nM
:................
NO
.... ........................ ..
x
B5
.-.-.-.- .-.-.-.-.
83
S4
ANV
.CALLS &. FNS
MI1.
CALLS OR YES
.-.-.-.-.-.-.-.-.
FUNCTION
X.PROCES~
CCk~.
.R~~ERENC;~..
~~vhc~~lgNS :
*-.-.-.-.-*-.-.-.
.INITIAL
PROCESS
)(
.-.-.-.-.-.-.-.-.
..C5.
.................
X
CI
*C2
.INITIIIL
LD.
STATIC
YES
.-.-.- ....-.-.-.-.
INITIAL
X.CONSTRUCT DICT,.
:sTi~r~ll~I~?~L :
.. ..
*.
NO
.ASS I GNMENT
.................
...xx........................ ..
.-*-*-....-.-.-.-.
....
.
.. ..
..................
X
.
... x
X
01
02
DO LOOPS
..
.................
X 'I.e."
FI
.....-.-.-.-.-.-.-.-.
.................
.... .
...F3.
.emE
GZ
ANY..
.STRING HANDL LX.
'" STRING
YES
.-.-.-.-.-.-.-.-.
EXPRESSIONS X.
CONVERT
"'.
.STRING TRIPLES.
Gl
III
G.l
..
..**
JI
..x
..
..
X "
................
........
X. Gl ..
J3
"
00
eo
G "
YES
OPt~nspR
eo
(1
0 0
I)
...
2ND PAS~
...
K
/>In
*0
It.
(1,.
ORIE'ITFfl 1/r')
CONVERSIONS.
3RDPASS.*
.,*
*. 0*VFS
CI
.J5.
.-.-.-.-.-.-.-.-.
X
.C<JNVERS IONS
GENr:RATF
I N-L1 NF. COD~
3RIJ PASS
NO
..
GENERAT!"
IN-LINE cnDE
H!i
oo(:S~a~FFI;~BR~~I;~I):
.-.-.-.-.-.-.-.-.
................
.
.
. x.
:~~~~~:~~~-.-~~:
*. 0"
0 III
,,"
*
YES
0.0
J4
;RE~~!II~;
..
X It
... x."*.
X
**
"10
III "
NO
JZ
e-
o.
*.
H3
H4
.RECORD-I/O
NJ.
ANV
YE S
.-.-.-.-.-.-.-.-.
.0 RECORD-I/O
00'.)(. MAKE LIB CALL.
HZ
.PSEUDO-VARS I1fl'"
.... -.-.-.-.-.-.-.
X.
CONSTRUCT
.PSEUDO-CODE .FOR.
"'PSEUDO-VARI ASLS.
..x
GS
.CONVERS IONS OM
*.*.**
*. ...
NE YES
:~~!~~;.~~!::;.~L:
FUNCTIONS X.
CONSTRUCT
*a
NO
..x
.1 N~N
.*
F5
NO.. IN-LINE
CONVERS IONS
..ZNDPASS
G4
YES
:~~.~~~X!~~L~~:
FREE' OR WAIT X. MAKE LIB CALL
..STATEMENT..
.SEQS FOR nELAY
x.
x
NO
CI.
.ol~~~~~A~~UY.
NO
"'.
PSEUOO-.
FOR BRAN-
Gl X.
OG
:~~U;.~H~~;.H~:
..
.....
HI
"'.
ANV
PSEUDO-VARS YE S
OR I1ULTIPLE
"'. ASSIGNS. '"
"'.
:~~!.~~,~~!~~.-~~:
PROVIDF
FACILIT[ES
.CONVERS IONS
MAKE
IEI1\~~LCN
....E5.
.-.-.-.-.-.-.-.-
::~~.~~2~~:~:U.:
NO
...
.. ..
RELEASE
UTILITIFS O
X n
X
E3
"4
.SUBSCRI PTS
I1S.
ANY
YES
.-.-.-.-.-.-.-.-.
SUBSCRIPTS X.
CONSTRUCT
PSEUOO-COOE
CONVE RT EXPR-.
ESSION TRIPLES.
TO PSEUDO-CODE.
. ...
05
NHL :
~
NO
.-.-.-.-.-.-.-.-.
.
.-*-*-*-*-.-.-.-
1iI/)
..
~.
03
04
NEED
.SUY & SELL
MP.
TO
YES
.REORDER STR ING X.
REORO~R
.,.~Ub~~G....
: B~~A~~2
El.
EXPN EVAL
LR,LS.
OE.
CONSTRUCT
.PSEUOO-CODE FOR.
ASSIGNHFNTS
II
r>P
'"
*.* * *
0- .,." ,.. 0 )( CI
K3
_.* .*K4******
.. 0
ox
. K5*
.-.-.-.-*-+-.-+-*
.crlN~TA'ITS
lINV
"nATA FURI1 NT ,'I\).
DATA nR YeS
.-.-.-.-.-.-.-.-.
FORMAT
." . . . . . . , oX" MM(E LIB CflLL ..
LI STS
.S~QS FOR DHV ..
...
.. FnRMlIT LISTS
(I"
~
NO
G "
., G C'
I'J ., 0 "
., (I ., 0 -0
..
eo'll( "
(I
o.
II
eo"
II!
*****.*. **.*.* *
*.***
..." '"
...'~A2*
2 00
os.
.cnWERT CO'lSTS
Tn 0EOO 1Rff) ".
INTFRNAl FClRM '"
C:hart LA .
.....
..
Diagr~m
LA
A1
NOTE:
THESE ROUTINES ARF. SCAN
RgUTINES CALLED BY
C ~P LI'R PHAses IEMLPJ
THROUGtl fEHOE.
~' Al.
Fl.AGSl
INITIALIZE
PO NTERS.
DYI
A3..
.CONSTRUCT DOPE.
A4
VECTOR I N . .
RETURN
.................:
A~80k~~~
! :
MYZ
83.
~~n ~E~:
81
TRANSFER TO
: s~:~R~bnH~~ :
.................
:
oij~~MG~~fNG :
*64
0. x 0)(:
RETURN
..0:
HY~t
MY3A
.C3
LB
AZ
:GEN~~nE~s~~XT
:
.TO OUTPUT 8LOCK.
SC2
..
'~.Ol.
MOn I ~reR ~~T
OUTPUT
... .............
: so 02..........
: :
,~
UPDATE TO
NFlCT Til. I PLE
SCl
03
'~ D4..
.)(
S~AN F O R . .
: . I
RTiV~HEO
: )(:
RETURN
:
.................
K:
.................
1'4
.1'3... ..40 .
: .1'5.
SC4'~il~.El..........
.:
:
.
.
...................
MARK CURRENT
rN:~~T~bOCK
e tt
.... ....
....................
WAS ENTRY NQ
YES
...............
ACCESS..
T~i~lF
e.oX:
RFTURN
..
.................
K
CURR ENT
: MIIRK
ll~~U~A~~~gK :.& ...................
,
.................
sce '1~~,lGl
I~
F 3
0 (\0
MaYI' TRIPLE.
TO OUTPUT
G3..
G2..........
r"'
UPOATE INPUT
WAS
'40YE T H E .
GIj
MARK CURRENT
POINTER T O .
ENTRY AT NO
.COnE OELI'4JTED
INPUT BLOCK
o X.RF.GISTER STt.TUS . . . . . . . . . )( SC11 OR SC12 "X. BY JHP TRIPLE X.
RF:TURN
WANTI'D.
flYrES.
.................. ...................
.. ...
*...
YES
II!I ~ ., It
................... .
.....**** **.
0 " 0
SC9dH~Hl . . . . . . . . . .
HARK CURRENT
INPUT BLOCK
NOT WANTfO
,.0 0
.................
....Jl..........
SC1"
.....
J2
CONYERT THE
J3
SYMBOLIC.
ADJ U S T . .
TO ABSOLUTE
....
. ............ .....
,~............
"'
...............
Lir~ctories
201
chart LB.
Di~g~~m
... ............
AZ
"'lB
ic
.....AZ
SCAN
.!
T~~T I~~R :
1(: i~a~
AL~~JLr~p :X :
..
fc
BZ
....
.:0
FOUNO
.....
.....X
:~~I:
NO..
*.
EZ .
:.:u. .~.~:
.. ..
:-.-.-=~~
PR9C'Sf
ANY ~lAT Al
Tc
..G2
G~:T:;.
...............
TO MAIN
.........
x..
..
N:
Auto"~9Yc
::
INIT I AL PROCESSING
SC N
CHAIN.
G3
x...................
.
....
NO
INItIAl
RETURN
Fl G Oft
YES
...
ic
H2
*.
......................
is
yes
PROCESS
IT" AN
X.INITIAl STRING.
"'. A RAY..
.. ..
...*
NO
fc
MAIN
JZ
INI~Vi~T~NTRY
...................
x
ic
*ttz . ..
CNSTWK
202
OUTPUT.
K3 ............ ...
5NZ A N D . .
ASSIGNMENT
" X.
RETURN
TR I P l E S . .
...
........................
Olt
ElD
*. *.*
x
SCA~t~.*E3.~........
YES :
~lTE NO
:
.X.
~k LE
X.
F UNO
OF
AU O"ATIC
HAIN.
.....El.'.........
. -.-:
...
YES
..,z.!
: lOY ~~~~~AiNTS :
AUTiU
........................
....
*EIt.\
.... _:
:~u:n~.~:
Chart LD.
Diag~~~
"'lO '"
'" AI'"
: S T(\OO4)
:,
~2~~Ul
sr:~~
:
'"
GAAt
.",C1 1 ""..
:
~
.~, OAi.
"'. YES
INHul.
~I. IU:A~N lC:
sn~~
:."''''.''''''.'''.''''''.'''.''':
~'*oI.
cORRiHI~NTRY :
:.
ST999~1
"'."':
ON
CONSTANT
,."'.~~U=
lC
'.*1:1.
"'.:
MAK~olLOT
..
:...
~3=n:~fO :
..........."'
'
....FA
~
:STN'88
IN~Hh
l~~W
41
G)
NO
e..
..
..
K,
END
OF CHAIN
CNSTWK
A NO
:: COR~~~~I~NTRY :
FA~~:;R K: CON~~ANT
:
"'"'''''''C4''''''''''''.'''''''''''''''
C1
..1T1~
:........ x
'"
NO
.CNSTWK
*Ci :
:.",,,,~~:l~,,,,,,,,,.,,,:
CNVERT
X
03
CONVERT TO
'"
..............."'.
FW~~AI~RO
GACl
"''''.''''''04
.''':
MAK~ ~LOT
: ~S'M~~~~n :
...................
:'
ARRI~.*E1.i
:x...........
.................
seT U P .
Tn~ll~~
STI)~~ F3.!
POINT
: VAl~~
T~t~T :
TO TABLE
*. .,
*. * *.*
.*
JC o o oooe
YES
~
lG
At
203
Chart LG.
.....
.A1.
Diag~~~
.
..
....
....
.. ..
LG
A3
.
. x:....
................. ....
LGOOOO
fc
INITIALlZATlON
:
~MRi~r1~ :
DO BLOCKS
A1
41
.................
: . WHILE'
: ....
III :
STACK ENTIlY.
NO
LGf"Zl~ . .B1.i
:SCRATR~LEA'S
H S RAGE: .......
LS
A1
..
C1..
LGO~ll c2
PUSH OOWN 00
YES
STA~K A~O
00
K: '~JL ~H~~
ENTRY
.. ..
NO
:
................
.
. .....
..
......
...02..........
..03...........
; i
X. B1
01 .
LGClt:' 11
....
YES
: PU~Ag~'Ngo :
: ~ftNAiONT~~h:
ic ......
ITOO
.......... K. INITIA~I~E
......... K. AN~ l~ il
.... K. B1
:
NE~N~R K :
:
nA~K 9~TI~:
.....
NO
X
E1..
LGI'~l~.~,F
....
.. ..
NO
LG('~IZ
*..*
NO
*.
DO STACK
Fl..
X
*.
gros
~~!E C!i8~P
ANO PDP UP
.................. ....
G!
...ic
F2.......... E
)CP~~k F3
SY~~~~~tTKEG
:
:
ANA YZ TH
FOR LOOP
........ ")C. EXPR~SS ~ON ~N
CLOSE.
ENSUING TEXT
ic
TO,BV
*.
lC. B1
* *
*.
.-
.*
YES
,
eo e 'II OO
111
NO
ic
HI..
:. TO~AB~. :.!~~
EQUALS
"'00
H2..........
LG~ ~~!
GENERATE TEXT
..... X:
~REn~l~~
EXPRFSSION TO
A TI'HPORARY
lG~"21
JZ
.SAVE LOOP ENTIlY.
....
.... YFS
WHllf ............
~~'~~FA~~TWN :
..
00 STACK
.. ..
.....
"lO
A3
* *
204
..SPEC
.................
.....
'1:
81
o.
.00
ic
Jl
H'3.11
COOlii
H4 *******
: ... , x.lhRn~V~FpARt:.:~~,
lC:
OF THIS
IH
....
GF.NE"~~b H~T
! ... :
* ..............
COlli'lT COOl'
Phase LS
:-::hart LS
.....
.
Logic Diagr3m
~verall
LS '"
AI
'"
;"'Al."'
INITIALIZE
WORKS PAC E
'"
ANO TEMPORARY
I)ESCP.IPTION
STACK
............
.."'. . "'..."'..
..
..
.-.-.-.-.-..-.-.-.
.. ...............
Ell X.
L Elf '.
81
LA
lJISE SCI TO
0" INTERE'ST
"'
CI
END OF
.... YFS
*. ...
PROGRAM
.. ..
*..1lI
..
01
WANTED ANO
~r
LflE21
*.
-. * *..
.* ))2
*c
.0 .0
",.
*. '" 1:.'YES
.
K
C O"lST
F 3
CREATF
IS
YI'S
DICTrONARY
'"
".
OPERAND
........... X'"
fNTRY FOR
'"
.A CONSTANT..
URGFT
..
"'..'"
'"
CO"lSTANT
..
NO
E2
SET UP
"'.
,..0
;ARITH
x
E I ............ .
DES8n~n8NS
OP fRAN!)
NO
X CONVERSION .,.X. F3
.RI'QUIRf'O
YES
P.ELEASF L S .
.. AI
.........................l.***V
.
..
.. NO
..x
HARK NEXT
PHASES I"
flX.
.. ..
................
.
....
.
....
"'
.......
.. 1'3 X.
.
.... ............
X
'~F I "'.
I)ETERHrNE'
.CHAItACTE RI STICS.
OF RESULT
..
,~
GI
..x
.0
STRING
TVPf
RESULT
*.
tl.
)(
:CONVT
ARITH2
CALCULATE
... 2 .. .."'
8~SE, SCALE
: H08~'T:~a~f'
:
..................
.*
*
*
YES
NO
:STRING
Hl
..
OUTPUT
~)ECESSARY
..
X: TR IH~~ AND :
.. OESCRIPTIONS
.....................
x e"e 0'.
RELSTK
~
...... JI ......... .....
:
TE~~~FcnD :
FROM TEMP
..
SUCK
............... ....
"'
..
X
"'..112
."'.
AS~~~~RNipLF
~b ~~~aH
H3
~~~.~.~
'"
SOURC~
""
J)I
.."' Ht.
.0
GF.NF~A TE
PS EIJD!)-C::mF
FOR FrXEn
81"1ARY
EXPRESSION
**** **
.. YES
:ASSIGN
K
J3
iND.
TARGET IN
IJE~~d~~~~Y :
......................
~L"AT
FXC I
0"
....:
FIXEO
"10
DECIMAL
o "O.",.X.
IOt
:...... x
FOR
ASS IGN
PSr:lJ")O-Cf)O~
EXPRESSIJ"I
G3...
TARGFT
.........FOR"'."''''''''''.''''''
.. ' ' ' ..
..
: ~~~~l~~~
:
AllGNMI'NT
elr :
TI Mf'
G~t T0 ~j
WORKSPACE
...'~ F4
Ge"lEP~.TF
iII..*
*
*
YES
"'GZ
..
LRFLl
OPERANDS
....
.,.
., NO
*.
F3
..
AS~~~~RtUPLE
.................
FOR DECIMAL
S~IFT IF
NEEDED
K
...... Kl .. ."' .. ..
Ann ANV
SUCK
....... .."'."'.......
....."'....
"'
I'll
205
chart LV .
..
LV
AI
NOTE
..... Al.
I ~I TI ALI ZE
CO""O~
: TO:Nbn :
STUTO
A~r:
.*
~~~YSIHNgA~l~bl~VS
COMPILER PHASES IEMLW
THROUGH I E"'OG.
AZ
lSTUTl
*A4 .. ... ..
7.STUTZ
..
* ..
U
Al
STRUTl
IS
SOURCF
YES
OPERAND A
CONSTANT
8Z
.. ..
...*
Nfl
: STRUTZ
X
8~
.*84 *
CRFATF NFW
*OETFR'1INE TVPF
.f1F STRING DOPE.
OICT lO~ARY
X.
ENTRY FOR
., . . . .
VFC TOR
CONSTANT
RE(IUIPEI')
.................
.................
...
it
LSUTl7
(Z
RFSUlT..
STRING
YES
L~N~~~ . . . . . . . . . .
*.
.. ,.
it
C4.
C3 ........... ..
CONITRUCT
8UtRI~HGN
:
.,)!:
GI:'IERATE
PS f.UO'J-C~OF
TIJ (NI TI
HI:
DOPE: VFC OR
.................
..*
.. Nfl
: ~~.~~~~1~~2 :
.
..................
LSUTZ7
X
...... OZ
CO~STRUCT
ASSIGN
TRIPLE.
K if!
LSUT26
it
E2..
A~~7~~AI~0
"'4.
it
..
..
ANY T"'PD
TRIPLES
X
II
LSUT?2
.*
NO
.G7 ............ ..
RETURIII
..
OFSCRIPTTON
UF RFSULT
STRING
..................
K
..
206
..
..
1&
FZ
STRING
R~~~V'REO . . . . . . . , . . . . . . . . . . . . . . . . . . . . . . . . . . . .
*.
..................
..................
INCREMF.NT
AOOR
OEPENOIIIIG
ON TYPE of
OOPF. VECTnR
RETIJR~
.HZ .. ..
RFTURN
..
.................
~
F4* ........ .
..
R~TlIP.~
.....
......
Diagr~m
Chart LX.
LX
A1*
BEGIN
X
A1
A4
INITIALlZI'
'"
A4
lIl2
A5
NOT OPERATION.
.................
.. ..
*..*
NO
..
'14
CAN
IN-LINE . , NO
CODE BE
K. K2
GENERATED..
*0
* -
YES
:'~
,~.
C1
LB
*.
....
.. ..
~~8c.R~M
..x
C4
. . C5
GENERAT!'
CONCAT
YES
PSEUOO-COOF
~'.
OPERATION . . . . . . . . . . K.
FOR
,.
CONCATENATION.
OPER AT ION
"'.C2
.."'.....MB
. ......
.: .~~~ K:
PH:~rKMP
.. ,.
:
I F WANTED.
X
A1
NO
*"
*.
..................
1'j0
FUNT.
*. .,
02
03
CAN
NO
,.
BOOL
., YES
IN-~INE
NO
~TRll'i
**.
. **
NO
STROP
~' E1
SET UP
: ClEs2:~ ~~~8NS :
T5
...................
~,
OTHE~
TRIPLE
TYPES
FI
:CluR~H~~I~~lcs:
' OF RESULT
F2.~
.................
.................
..x
B1
Gl
I'jO
CONVERSION
-.REQUIRED
YES
.....-.-.-.-.-.-.,
it
0)(0 111 0
F4
SET OP
N~~8EJg
..
................
..
.
NO
REL
P~~~g~t~OE
.ft .
RlSb~k~o
*.
.*
*
*
YES
o*.C'1'I
.................
AOOU~"G5.~
A~~L f~~~s
USED FROM
TEMP STACK
"
NO
U~ F 5. ~
:
:
K.
o~~~:mjN:
K:
FOR
11
XOI:CO.OOflO OO
ADO
A~~EU~bS
TO
TEMP ST ACK
.H2
CREATE MASK
FOR
BOOl FUNCTION.
:.~~~.~~.U ~l~~.:
L!L8
E!> .......... .
,...
GENE RATE
AND-OR
YES
PSFIJOO-COOE
OPERATION . . . . . . . . . . X.
FOR
.ANo-OR-E KCl. OR
OPERAT ION
.. ..
.a........
*F3...
.
. . .................
.................
SETUP.
OPERAND
DE SC RI PTI ONS
G3
GENERATE PSEUDO.
-COOE Tn CONV-
o. x
E4
.
*
ASSIGN
. .................
:L11
..Hl.."'.
.ZSTUTl
LV.
Olt 0111.0
1' 3
)C . . . . . . . . . . ".
H2
* OPERAND -.
*.
MOVE TRIPLE
TO
OUTPUT
YES
1'2.:
: HT. F~~RS
.. ..............
*....
* _
*III.
.*
*
YI'S
B1
.,..3*
ASS IGN
GENERATE
ASSIGN TRIPLE.
TO ISOLATE
.STRING OPERAND
"x.
...
ic
:.
J1
MAX
~I~A~~
:.~~
KNOWN , .
*.
..
* -
YES
K2 K.
..... :
LIB1 K2.~........
Kl..
.. ..
*. .,
>
25~
*..*
NO
x:
p~~~b~~l50F.
:
.OO.O O OO"
.................
x.
TO
CALL LIBRARY
.....
ic
A4
207
Chart M2 .
Diagr~~
148
A1
Al
.INITI ~ZATlON
: Lg~
~n~n':
ST AG~
FOR TA K
.......
B1 x.
x. .
K .
................-....-.
HB02U B1.~
LA
.................
use FOR
sc 1 TR
Tf PLe.
.LOOK
OF INTeRe T
X
HBOOl)4
C3
00- yes
:
I~J~TAh!:
:
X.VARIA l~.l HAKE K.
PSI
:sEfT~s~ ~f~tH :
:
MBO~ll C2..........
Cl..
.. ..
vA~fY8Le
.................
NO
l6r..~E6L ~g:
.................
AND SET fRT
T~R~fi~~N~~R
:
x
....
Fit
ic
Fl..
H8HI13
F2..
=' .
H81~1~ F3..........
*SIHPLE YES
:s~Y~~
YES
:
ASSIGNHENT K psv SWIT2H x.
ON
:
.. ..
H81111 FIt.~
~Sf~~ ~N~gT
STAR~ OF
:
:R~~5A: ~5llfn
T"'PO~ FROH
SEi~~~~~s OF:
K : RE~a~~ A~I)ER :
...... . .................
.................
......
NO
NO
001(.
1(.
81
G"
.,
"813"".
G5
STAr.K
0 K. PSV SW ITCHES 0
:LEAR STACK
*0
..
H1
* END
OF
PROGRAH
......
Jl
...................
*.
*.
.*
YES
81
"'8DO l!'l
ic
.RELEASE SCRATCH.
STORAGE.
RELEASE
IEHHB, IEHHC
ic
.......
140
.. 81
208
....
....
B1
:14BI318
(I
NO , .
* *
...
".
'10
ic
NO
.. ..
Hit
j. .,
.* PSEuno- *.
VAR I A8L E
T"'PO
*.
.....,...
.....
J4.
.1(00...
*. 41YES
Jit
"IB132r
l(
)(
.......................
Fit
GENERATE CODe
FOR PSEUOQ-
VARI ABL E
.................
~D
~verall
Logic DiagriTI
"0
81
.~1
:
..
81 "'
F~iArRIPT
OF I NTER~h
41
~
CI..
VARIN
LFA~11 c3
C2..
.. ..
fSA YES
.",'. IS
YES
:
FYI6~lgN X"' IT AOOR "' , x:
*.
"t~E~nl~V
02
"'03
IISAN YES
:
RE"OYE
:
0
FI~AP~~xT
.. ..
.................
*...*
NO
NO
. '"'"
"~~lA~'~~N
:".x
X. 81 '"
ic
LFIGN
.. ..
X FmcH~~
01
IJSAN YES
fa~~~
*.
E1
NO
LFSPEC...
E2
.. ..
*...
:x
X. 81 '"
i~E~I A\
' :
.................
.. .... .....
X:
*..*
NO
ic
NO
YES
E3..........
I SIT YES
:
"t~E~:l:V
X.'.~ ~u4rr~A:= )(: Tgu~RTRVHEA
...... . .................
*..*
:
:
:
NO
X. 111
LFCO"...
L FOR
Fl..
F2
F3..........
IPAN YES
IS IT VES
:
DJ~lK~JTrON : ':
, A~~V:~T X ~~u4~T\A=E ' X: ?~TaR~~~~T :
*.
.. ..
NO
...... .....
*..*
NO
.................
X. 81
SNAKE
LFMOYE
G2
*G3 "''''.
G4
IS
MOYE CODE
IT AN
YES
IS IT
YES
PRODUCE.
TO OIlTPUT
'"
..FUNCTION
IN-L INE CODF.
PARAMI'TF.R
GI
.. ,.
.. ..
*..*
ME
81
.."'..
*..*
NO
NO
.................
.................
81
209
.....
Diagr~n
85
85 .
"E
81
84..........
SIGN
95kK~ijT
.*
*.
:X !~~~~;~...OR
IA~oU .;.
DOUBLE
.....
.................
TRIPLE.
.CO""A
DOU8LE
.COMMA
.C5.
........ X:
it
SOCOM
PLACE SECONO
IN~hE~t~8K
...x
$FUNC
01 S
..taST:.
: . .; , , : ;:.::.:
If A
YES
.INoix ~IPE~ YES
~E~ET ~~LAS
FU~TION
X COMPtET ON X. se' AR UMF,Nl
.. ..
.'.!"
.NO
:...
.NO
E~ ~F
:RiJL~~"
* *
*.
X:
..
Fl.
A;Gb~En ~.. YES
ONE OF THE ......
-.RELEVANT
FNS
NO
V~9Al~Lf~!~~
S~~lt~~US~~T
F2.
ODWNOATE
STACK POINTER.
C1
It.
*.
*
YES
85
YES
.A1
C1
..HZX
RESET CF~AG
FROM STApK
: M9~f O~~~U\~
.Jz.......
X
IF CFLAG Z
SET ARGUMENT
SWITCH ON
.................
.
.x . o
......
X
Cl
.
X
FS
"'OVE
TDB
STACK
it
E5
*. * *. *
210
.COIISTRUCT TOB
:TR~HfEo~l~l~o :
INTO FIelD 6
IIIS8
IT1~NO NO
OF PROGRAM
TRIPLE..
1m
o.X
x
.
....
.....
"G
"'S7
x.x
CONSTRUCT
TOfl FRO'"
T"'PDS
.................
.............
F4
.
MS1 E3
NO
Gl
El
IS
IT AN
YES
...x
SWIT H
:.?
X. Cl .
..x
................
....
.. ..
..~~U~~
K "....
05
NO I~S A
A~H ~H
"'SG
H4
RESET
CFLAG
FRO .. SH.CK
.................
.
X
J4
IF CFLAG-Z
.................
.
SFT ARGUMFNT
SWITCH OFF
O II . . . . I:I' O.1I
TO
Chart MG .
.....
MG
AI
Al..
LOAD PHASE "H
.SASE REG $lER
OBTAIN S RATCH
ANl
:n2:.~~:
............
Bl
X.
X tlo
" "
0 0' 0 "
.-.-.-....-.-......-.
:~~U~(::
:LoH~EF~~IT~?PLE:
~:.l=~r.~U
:..
LFARIN
LFARII
,.CI IS
..C2 IS
:=:~r=;:~:
IT A
YES
CODE TO YES
IN ~~A~K.
/~~JlFN ~ B~ET~~~~~f~E
"~~IA~Ef~~N :"'le
*.
*...
.. o
. ..
...
NO
NO
x:
........
III
X. Bl
X
01
LFIGN
02
.0
.0 ..
.. ..
x:
03
,. IPAN YI:S
,PIN
YES
: RE"RYE TRIPLE:
:
.'l?I~ORE TR I P~~ X ~~~~T\d~E
F 0" TEXT
:." 1<
_.
.. ..
*.
III
NO
El
.. X. Bl
... .. .................
c*
NO
LFSPEC..
102
E3..........
...*
NO
NO
:
:
: .. ole
x: B~~~?WHL ~
X. IH
Fl..
. .....
..
..
....*
1~K~T~~~R~O
LFCO"
f2..
LFO: .,.3..........
,. IJSAN YES
. . . . IfSI~ YES
:
*. J\RGyHENT 1( AN N-\dN n cX.
,.!R PLE....
:~NCT ~...
:
... .....
. .
. .
NO
On~n~TtOH:
OF
~~g\Jl'l~~T K
l ~ ~
NO
X. Bl
X
G1'
LFEOF2
G2'
L FE~:: G3..........
::NI~NbTO~ YES
O~ YEl)
:
I'UN TION
K AN IN-LINE K.
TR PLE
FUNtT ION..
.. ..
Jr..*
NO
"1
AI.
ir Mo
.. ..
-tot. NO
:~~aM~~IIV~
IN-LINE
COOE
G".......... :
:
:
: IIInYE COOE
::
......... X. OUTPut. RE!2T .... .
.SCAN PAIIA"Efb
.................
.
L F"'~:l
..,................
..
.!
81
211
Chart MI .
Diag~~m
"1
* Al*
ic
"J
Al.
LOAD PHASE
AND
:3:nI~EfllnrH :
STORAGE
.......
81 X.
x
.... ic
x
.......-.-.-.-.-....
:;~U:(::
:LoM~EF~lT~yPLE:
: 2~.I=U~S*! :
ic
Cl..
LFARI~
LFA~!l.~i
CZ..
liSA YES
co&~ TO YES
:
F:~H~N ~B~E~~~~i~E
*.
*..*
...
NO
NO
x:
ic
...... .
LFIGN
OZ
03.......... .
."''''.'''..' ' ' ........ .
lIS AN YES
IJSI~ YES
:
'I~NORE TRtP~i K ~~UN~T\D=E K:
.. ..
"'. .NO
.'"
.. .....
*..*
*,.*
.NO
RE"i~A
F
JRULE:
:
E
:"0ic
X. Bl
....~
ic
~nl~Y
X. Bl
01 ..
LFSPEC. "'.
EZ
"'.
: l~EHA .''''' YES
.",'''' IISll"" YES
"'. ASSIGNMEN~ K"'. AN IH-L NE
TRIPLE
..FUNCTl N
El
"tN
M~UJEf~lN :"'ic
.. ..
*...
"'.. '"
..
*..*
"'' '
.",.",.
'" .
'"
'" NO
NO
Ei "' "'.... .
:
1~K T~~~Rlo
K.
PR 0 EA
BUY T PLE
:
:
.............."''''. .
X. Bl
ic
"'.
LFCOM. "'.
LFOR
Fl..
FZ
"'.
Fl "'."' '"
IS
'" I S . .
IN ER T A
IT AN
YES
IT IN
't'ES
DES ~PTlON
ARGUMENT
X AN IN-LINE .......... , X.
"'. TRIPLE
..FUNCTION .'"
AltG iNT
..."'...
"'. ",..
""..
NO
:",.Ula",i
~~~"' :
'" NO
.. X. Bl
ic
",,,,.
Gl..
LFEOF2 GZ..
LFE~U ~~..........
LF"~:~ G4
I SIT..
IS"'.
Pit UCE THF.
AN END OF YES
IT END OF YES
AP OPRI AT E
"OV~ fDDE TO
/v~in~N ~
!~UA~i\~~E '
I~ohlNE
: ....... " K:sg~~ ~~AA=nn :
*,.*
NO
ic
MK
AI
212
*..*
NO
Bl
K:
Chart MK.
41...41.......
81 X.
Diag~~m
0 , ' 0 It 0 0
0 . 0"
e ,.
0 0 0 "
-.-.-.- -.
l ......
OF NT ~.~
R T
fi ......
Cl
LFARIN
C2
LFARIl
..... *C~..........
IJSA YES
,~coA~ ~.'.' YES
:
....
FUNCTION
X.... liE PR 0 EO .0 X.
TRIPLE
BY THI
HASE
..
.. ..
*..... . *
RAME ER
NO
......
. .
.NO
III
X. III 1)1
0
LFSPEC...
Et
E2
lT
YES
P l YES
.... ASS G~ N~ X AN IN-L ~NE I
T IPL
o.F\JNcnllH
.0'
: ..
I
*..*
': le
*...
1It
....
41
LFCON
.1)1
F2..
IS
IT IX YES
K AN IN-L HE
o.~~t:Tt ~...
...
lFEOF?
./~lJLgN
1\/0
.. ..
~
M!.
A2*
ERT A
RJPTlOtf
OF
IA!i~':IK
~.i:.
x. In
fi
(I
:NI~Nr o~ YES
X.
:
NO
Gl..
;l..........
LFOL
DE
.G o
NO
*..*
x.
.
fi
fi
". 111
Fl..
IS..
l,~ AN
YES
'.! PL
*E~.........
:
r~K TIN~A~O:
X.
PA ~5E A
t
IIUY nPLE
.NO.NO
:"'x
-..*
"'NO
ARrtME~T
*..*
*..
.. ". B1 III
0
.....
LFIGN..
01
02
*03
,PAN YES
.1)1'. IPIN YES
: RE~~E TRIPLE:
... l~NORE TRI"!'~ . . . . . . . . . . X I)I!PU~TH~E ..... o ":
F H TEXT
:.....:
.................
*..*
... NO
"A~K st~:~
H IFY CAN
lFE~Z
G2..
.0';'T l~
r:,
YES
x o!~uACT~A~E 41 , , :
*...
.i
.NO
il............
:=lIK~alJ.Y~
r,4t..........:
LF~~S
:
:
: ,
NOY;
~oor 19:
l~iihlN
~lhN;nI
)I:S2~N
III
213
Chart ML.
.......A2
Diag~3m
ML
.
.
it
.A2
INITIALIZE
MOOULE
JC. x 0
: FPAfll
it
..:
:U~~~~
~UNCTtON
ARGUIIENT OR
END OF
PROGRAM
..x
C2
* IS IT *. YES
*. END OF
,.
.......
....
.*
PROGltAM
NO
: FPFNAR
.*
a.
02.
:.~~.:. ANI~NnV
*.
NAME
*.
lit
.1414
.Ai
.:.
YES
E2 ..
E3..........
ic
FPEPCO
..it
NO 1B~hl!I~
*.
*.
FUN( liON
0 * *.* .*
YES
FPGAR
X
GI.
FORM TABLE
OF FAMILV
ME MBFR
DESCRIPTIONS
:.Gz:
FPB IF
R~He~T
T:~~T ~2~RV
.................. .
:
FPARD3
ic
FORM ENTRV
RELATI NG TO
ARGUMfNT
DESCRIPTION
*Hl
:~~~t;:
.................
.................
RHkvANT
:~=~~~
Jl.. J2
X
FPF(,'"
..................
CHECK FOR
o~f~\~XE
REFERE'N~E
.................
IN TEXT
)I.
it
K 1
RFPL AC E
ORIGINAL
..................
:
R~~F~~~~E
214
SNlMIJR5~YE
~4
:
: Al\GU~MC:lTH :
AN EN RY
IC.ENTRVPARAM .TER
PARAM TER.
REFERENC
YES
F2
. .....
.. ..
....
\E~~IUC NO
:
SELECTION X.
REQUIRED
l(.
c . O . O r ... e I1
Chart MM.
Diagr~n
'1'1
AZ
BEG
l~ Az.a **.**.
:
:
LOAD
..."'.............
~~~~~L 1re
CFE
:11 A3.**.**.**.
: x:
~C"U~~ION.:
.................:X:
:CA
~NWg~
T TON.
.END OF PROGRAM
...
ic
B3
....
......
FOUND
X
NO
.MP ...
A1"
CFC~k~ c 3.!
S~AN ARi,rr~~T
~dle~NThES :
It
CFB!lZ1
E3
Xx
CFFSI TR
.. ..
.......
*..*
SAve
..................
ENV'RONMENT
.. ..
NO
ic
103
.*
*.
yes [S THERE
A NESTeo
FUNCTION
CFY(iCll
yes
..................
H..
.. ..
*..*
.. ..
*..*
N O .
CFL~~~
ic
.....*0,.
................
...
CFC~~:.*H.............
H'..:
JZ.~........
II.
.o...................
.:
GENERAlE R~~OOE
*TO P A
SUl T.
,. . . . . . . . 1(:
L1sT : . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
A*RBai t
...................
YES
is STRi~
RE U ~'..
FUNC ,~I cI~ ~' CAll
:
G NORAl:
A
NO :
,. AALL I~ A , . K.
T~2N~Fe~
......... K
.
IN'IO~A~ION
..FUNCTl8N
CONfROl.
Ne~T~O
.
.
:
..
.SET PARAMETIRS
... TO
THEPR~Or
K R
...
IT 'I
HZ..
.K..........
NO
RE~Ul
.................
:K rc S~~~~1~E
: 2~~~.....:
*.
T
DOPE VECTOR
e,
F ...
TS
NO.. CALLING
SCAN ARGUMENTS
AND GENERATE.
: f~85..l2lr~~T
rc
CFC~U . . F3.~........
CFCt'3C
CFL~~.' Hl..........
: G'E~5RAn $OE :
F3 K.
*..*
NO
"...
:~sA~~n YES
:Ai~~~RMht~N :
1(
BUILT-[N
1(.
SCQALuL!NCG
..FUNCtlON
e E.. e
....
*..*
YES
CFB~ J,.L
E,.:U~~~NT
ic
F3
215
Phase MP
Chart ME' .
.....
~verall
Logic
Diagca~
MP
AI
.x ..
it
lC
MP8
0 "
AI
SCAN
TElCT AND
.MOYE TO OUTPUT
.
.:<
: SWITCH ON
APPROPRI ATE TRI PLE
...............................................................................
MP"
it
MP3
81..........
!But~M~RlS~&s~OR:
!
STRING..
C1..
ST ACK 8UYS DR.
STACK INPUT
:.lC: SK~gl~be~hT :
BUY
..... .................
01.. ....
.:.
ON
MPItA
..... ..
MS
A2.
it
83
*84
*.
.
8U~~L~LAG .:.~?:
.................. ...................
END OF TEleT
rc
MPe82
82..........
:.~eT
R~~~e T~& PkQ;s. :
8UYX FLAG
IF CURRENfLY
lC
JFF
.
.
. .
.................
'l'ES
C4
. .. un -. .
C3
.'..
-.... ..
MPB8T
lC
C4
YES
GENERAT~
lC: TR~~tL SL~s9M
NO
!x
C1
0"....
..................
it
AoOSEL
ADO
OICT REF
x.
X
: MPZ3
F I
SCAN
TElCT
WITHOUT
MOYING
IT
SWITCH ON
APPRoPR lATE TR IPLE
.................
...............................................................".... .......... .
:MP31
it
F1..
8UYS FN ARG.
MOYE 8UYS-8UY
TEXT TO OUTPUT
. REMOYE FROM
STACK
'
"II'Z8
:
it
..
C1
.- -.
.. -.. -..
Gl
ic
TRIPLE
.. HZ
YES
1(
..
.
.................. ..................
X
Hl..........
G3 ..
MOYE BUYS-8UY
...........
NO OUTE RMOST
BUVS
flUY
"?~F.oJhw=
.....
...................
..
. ......
it
. *.
..
.
F" ......... .
..................
...
.X
MP8T
HZ
1'1 . . . . . . . . . . . . . . . . 11 18 tI "
lC
RESET INPUT
SCAN TElCT AND.
POINTER TO
K.MOYE TO OUTPUT.
OUTER B U Y S . .
tt
.*
it
J2' it"
YES..
BUYS.
C4 .X IS FN ARG.
OUTERMOST
ONE
*. *
NO
..
..
.................
ic
J 3 "
: RE MOeW TR I PLE :
FROM TElCT
K 3
REMOYE FlUYS
ceo eX.
FUNCTIO~
ARGUMFNT FRO"
HXT
....
......
x
216
liZ
o o
MP86
it
J4.
flUYS.
:REMnhR~~~MBUY: :
OUTPUT
...................
Phase MS
Chart MS.
Lcgic Diagcam
Over~ll
:Mlz:
BEGIN
K
AZ..
LOAD
:
MO~~hE,
:
INITlAltZE
.........
BZ K.
BZ . .
:
s~~~~Rl~~ED :
:EN~LS=E~R08~AM :
...it
CZ
END *. 'YES
~F C~~~RAM o X
FOUND.
NA
NO
It*HAS
."i
SBS~UUOZ.!. . . . . . . .
iaK~Y
............"'.....
NAME
. . . . . . . . . . . ' . , ) ( . ) ( I1 6
SBT~l~ EZ.a........
.....
:SCA~ FO~R~~~MA.:
~fMEA
E2 K.
.........
3.....
SIISTIH
IS
.. ..
e ~
S8S~~ *fIt
~INARY ...~
~.......
YES
.x
..x
81NARY
j)
J(
F Z . . *.
A l~oA~A .:.:~~ :
-. *.
.*.*
*
NO
.:.
:
:
.................
: OR 'KnCE IPT:
SBOPT
F3
FIt"'."'''' '''''''''
OFI~ET "'. "'. YES
:
~a~Eo~~Ui :
KNOWN AT
K. IN CONSTANTS
COMP ILE
POOL
'"
TIME .'"
.. ..
..............
NO
'"
.. K. l!2
De 81'
X.
SBN~n"GJ .i...........
"'..
leNVUX~ENT
S8TRID
ic
.*
G2
"'.
G3
*.
:X :~!"':.SUBSCRIPT
ISAIT
.:.
til...
....
..x
O;~A=:=:;.... .K..........
Il P;
.. ........"'''''' .";UB"'..
'"
* *
,~"'
....."'......
,~
'"
E'NVIRONNENT
YES
0
.'"
.K "'.
"'."'~I."' "'."''''''''''...'"
JZ
..ic
"'
MAKE ENTRY
~g~SHNJN
POOL
"'.H3 "'.
Hit
."'."'
*. "'.
"'
'"
: J( . . . . . . . . . . . . . . . . :
CI..*
"'.
'"
"' '"'"
BZ '"
'"
.'" o
YES
.."'.
.."'.
TO ADD
'"
i~~E~ I ~r.o T8R :
THREE TIMES '"
...
."''''''' '''.''''''''''''''''''''''''
NO
"'.
"''" GENERATF.
"'.J4"''''.'''
''
CODE '"
*. "'.
... .
GENERATE CODE.
'" TO MULTIPLY.
NO..
IS
MULTIPlfER
'"
"'. It OR II
585029
SBS05
Ii
SUII,S RIPT
NE'S ED '"
''""
."' G4"'
'"
NO
'" YES
'"
RfSTORE
.. ..
*..*
RI
COUNT
CORRECT
NO
SBS028
.:~~~~H~t.K:
H2
C:OMPILATI!;,.
IS
YES
NO
: S8ERR
."'.
NO.'"
IS
YES
A~re~
K3
'"
: E2 :K
"'.
....
.. ..
~BS8RN
"''''K4'''
"''''.'''.''''''''''''
GENERATE
COOE
. ., ..... X:
TO CHECK
~~~ER1~T
"'
"'
section 3:
:
'"
Ch~rts
217
Phase NA
Chart NA.
Lcgic
Qver~ll
.....
Diagra~
..
~A.
AZ
0 000.
*...
A4
~.
t:." e
_ e _ ., "
~A"rr3:
0*. .,
.. ..
A!'
*.
"'ASK
YES
A4 K AS OPERA'ID
83 X.
'10
.................
'1A8r In
84
115
IS
.7STUTl
lV.
OPERAND A NO
.-.-.-.-.-.-.-.-.
~tT STRING )(:C~~~~~ ~~~RI~D:
.
x: x :
MOV~.
:
.........
.
.:x...
'1ASC 1
X
83
NASC2
81..........
: LA~IT T~E~~e.
*..*
OUTPUT P /C Tn
8RA'ICH ON
MASK TO lAIIE L
,I(.
.................
.. ..
DELETE
YES
.)C
NA801Z
X
C4
: n~~IR~/i,lO :
. . . . . . . STRI'IG TO 7.ERn
AN~ 8RA'ICH
:...l:.~~~~~ :
*.
...ic
02
* .
EOP2
*.
* *
.*
.*
................... .. ..
E2
..
:.*. EXI T
*.
NO
RETURN...
1'3
.*.
X..
..................
.....
OUTPUT CAll
TO IHEOSSA
ADDRESS OF
eo
.LAIIEL, AND CALL.
: .... l~~~~:~
:
X
NO
* *
YES
G3
.,
GOOI!
'10
,.X.:.
*...
* *
NO
.................
... F4........
:l~~PKlGP{CwIVH:
.:~008G&~O&OLN Y.;~,.
'10
.. ..
.....F3..........
G2
. *.
2...
.. ..
GOOS
*.
*..* *
STOP
X
Gl
IIIA3NI
ilTPUT
GNME .. T
IPlE
"..
E5
VAI.UF YES
*vARIOUS Y!,S
:~~~TE~C~wnl~Y:
RETURNED
)(.,
TYPES
l(.YAI.~E AND OUT PT.
.,RETURNED
~OO
TO 8RANCH
*. . **
NO
..
NO
F2
AS
K
X
X
NG
AI
YES
RETURN
83
YES
Fl..
: '1A3r" 5
OUTPUT CAll
X
TO IHESAF8
X .
'=l(tT
E1
OUTPUT CAll
TO IHEOSEA
04...
..
.X..........
03.;.
.* .
NO
YES
DE
A2
F8L~5WeNG
X.
hl~lES.
X.
GOT
: ...............
:
K
GOT!).
G4
OUTPUT
.PSEUnO~DO~ TO
8Rt~~L 0
:
83
ic
H2
ON
Hl
:~;:dl.:;~~~!.:
.................
ic
.....
J2
NO
... IF
At.
..
83
S TG'IAL
F DR ...... SGNL
SIGNAL
............
....
......
218
H5
1(.
K3 ............. .
:
1(.
nr~~TPl&oln
BYTE IN
P~Y
A~~E~:k\i
...................
......
..
x
I'll
...
ps~~~b~P'8~E
.J4
'1A1140
:pO~T :~~Rr~~ ~~
IN
11. 113
ONt" OR MnRE.
........................
...
~ROC"nURE
o'l-UPlns
.................
TO fET SNAP
8~N_8~lfN
-........................ ..
......
...
'10
'lORE
ON-UNITS
lC
*.
H4
.. ..
YES
:~;~3;;~c;~:
se SYSTEM 81T
. ' , . ON 1'1 ONE OR
....
K2
0:' .
ic
83
CO Of TO ~ET.
YES
IIIAllrn
.. ..
.. ..
NO
REVERT
YFS
SYSTEM
NO
....
YES
:
)(.. SYSTEM/SNAP lC."
SNAP
Chart NG .
Phase NG
Jver~ll
Lcgic Diagrarr
A2
.....
*-.-.-.-.-.-.-.-.
A? .. .
..x....
X
~l..........
LA
: ~~.l~U~UI :
D.
*.
.,.
B1
.~
WAIT
....
.*
*. NO
)(
.,.
YES
BZ
.~
*.
DELAV
*..*
*.
~ o. ,a.
.*
~ONvlRT
:
OP1=~~l;ElO
:
...... .
.*
*.
YES
B3
NO
.0 *.
II.
.:
YE S
. .
B,.
.~
*.
DISPLAY
**.
. **
."0*
CAL~ohn~~p.Y
: :
YES
x
~ii
OP ANYgRT.
T
CHARA TE~
STRING
O$PY,CHAR
..
~
X n.
~o
1\4
*.
~.
~~5CATE:.!~~ ,x.; YARH~eE
.,.
.~
*.
*
*....
* . *
*.
It, :
.0 ftX*.
OlAY
X
.CZ...
x.
*00
: ,Jz:
:
.-.
.:OR
/13
...
YES
.......
AZ :
*.
*..*
*.
EOP
:X~j ~
: NO
NO
X. USE SCl T O .
UIOK FOR TR IPLE*
Al
.. )C . . . . . . . . . . . . . . . . . . . . . . . . . .
NGO
..........
....
.....
NG
AI
..OZ
II
GENERATEMALL
'fO I HEOS A
.lIBRARY" UlE.
.................
OSPY1!!
03
OSPY3
04 . . . . . . . . . .
.. ..
REPLy YES
:
OPTION
. . . . . . . . . . X*
PRESENT
,~
*..*
NO
III
,~
x
OSPY4
it
E3.
8~~~~ ~HAl
CHAR~ T~R
................
YAR IA LE
BUILD UP
PARA"ETER LIST.
.................
..F3..
X
G~~EV~6S':LL :
*lI BRARY MODULE.
: ., o e . . . . . . . . . . o :
219
Cnar t
.....
Jver~ll
?hase NJ
NJ.
. .
Lcgic Diagram
****
NJ
... Al"
A2 :
**
STRTMJ
X
NUSTAT
X
PRGENO
...... Al "'."'..
"' A2..........
A3
SCAN F O R . .
INITIALISE.
RECORD 1 1 0 .
END OF
:SC:2D~~tH:~PSM :
~ESBC~F.S5~ :.,l(:RElE:~~G~a~TROL:x
PROGRAM END
."l"1
AI
x:
......B4........
:SC"l~~h~~~~~~
....... BI............
....... .
SCAN FOR
PUT DPRNO.
X
.DPTION TRIPLES.
ON SfLl CHAIN X. GO TO PROPER .,
X .ROUT TO PROCESS.
OPRND
.......!I'x...........
...... ....................
SE~wSa~l
SVS~~~ CZ............
..
.x :
.................
g~~N~OVW
..
~H ~~~~HT
:
... CONTROL BLOCK
....
IGNOPT
x.~
c~~hStQ~HtK :x~
FR~~T~RP~lE
CaHRStQ~tatK
YF.S
C4 ,
INTFR"
IG"lORE TRIPLE::
2~2R~Leis~F
~ : ...... :
SELL TRIPLE
n l . . . . . . . . . .
SET2~X C3..........
.................
02..........
cn..........
t
:
:
....X:
.................:x ....... .................
.................:.o ......
:
; :
)(
PUT AODRFSS
OF PNT~
opRNn l"l
2ND SlnT
PIIRM LIq
...................
Co; ....... .
SET
..
;.~? ...... x:
~l~O~C~A~TAF~~
.....II.o.
...............
04 ..
.....[)5....
n
REA:> SF.T
*1)
: .
;x
INTO A YI'S
:CO~P fl~6~UF~~f):
X H~t~~G , . . . . . . . oc.,x:h~To~~2~
~~X:oox
.5 l I1T I'll. RM LI ST.
.. ,.
.................
0..,
ES
NO
B2
EI...........
EVT~:! E2..........
KYT~~! F3..........
E4
PUT ADDRESS
..
OF E V E N T . .
KEYTO TRIPLE
KEYTO A NO
: : ~r~~Do~Np~~~
EVENT TRIPLE
C~MR~tQ~(bh : ., X n~u~G . . . . . . . . ' :
liST
:x ..... :
.....
B5 ...........
X.
B2 :
................. *
SET.
SfTSW Tf").
INDICIITE
.........
REAl) S E T .
....................
Cl.~......
:x.. :....)l!
., YES
PUT ADDRFSS
OF RDV OF
'lPRND IN
2ND SLOT OF
pARM LI ST
B2
KFYOPT
U1COPT
F l . . . . . . . . . .
FZ..........
F3
PUT ADDRESS
KEY O R . .
OF SDV D F .
.KEYFROM TRI P L E . . .
4~~R~rotNOF" :X : cb~h~[Q~t6h
lOC~TE TRIplF :
PARM LI S T . .
."'
:'t
,:t ; .. ..
..
.....
x:
"'' '
B2
FILOPT
Gl "'......
"'G2
PUT ADDRESS
'"
OF OPRND IN
:
I~IR~l2IsVF
FILE TRIPLF
:x....... ,!
..........
.,x
: ....~~~~;~ .....:
:";~lt:H:.
,c.,:
*...................
'"
: :~y5:;6:~;;:
OF ROV OF
TO INOICATE
.CO"pllER LA!lFL ...
LOCATE 4Nn
".X.PUT IN ~RI) SlJT X.
SAVF pNTR
OF P4RM LIST.
opRND'"
..
...............
.................
...H3..........
..H4...... '"
.................
B2
ENOIO
HI..........
HZ
PUT ADDRESS
OF REQUEST.
'"
ENOIO
: C?~T~~~ ~t8fK
SaT~~~NT
, .. . .
:x........ :
..........*..*...
IN PARM LIST
...............
"'.
i:
J l . . . . . . . . . .
GENFRATE.
LIBRARY.
CALLING
SEQUFNCE.
J2
)(.0
.o. r.
SETS..,
*. *.
..
J3
.*.
ON
<. ..
."'''c
*.
r.E!IIE R A T E . .
'" SFll TRIPLES
CANCEL
FOP OpRNOS
o"O.''',X. OPTION TR,pl~
ON CHAIN
X.
SCMI
RFAO
o*" atl."''C*(,
0*
.lOCATE
. *. *. o. "'.o.
SELL SW
I1FF
1l*.Otlt'lt'
to
it
."'KI..........
......K2..........
K3
*.
.. *
GENEP.AH COOl'
GENERATF conE
TO ASSIGN pNTR
TO INITlALlZF
VALUE RETURNFD . . . . . . . . . X.Vb.RIABlE NAMED
IN ROV TO SAVED.
.BY LOCATE OPNI'l
pNTP O P R N O . .
220
.~
r.E!IIERATE
..
.COMPILER lABEL
X. MFNTIONED IN
1RO SUlT OF
P~RM LIST
...
. ....
OpRND HI
2ND SLOT OF
PARM LI ST
Char: t
.....'"
*
N~\
*'1"1 *
AI'"
N'1RI
"'''''''''''''Al.''''''
SCAN TO
.................
c-
)c
*.
81
EOP2
*.
*..*
*. YES
NT
AI
.*
NO
, X..
*.
82
*.
OPEN
*.
*..*
*
*
YES
.*
NO
X..
.*
*.
83
*.
-.
*.
CLose
*...
* *
NO
0 0.)(...
*('1
*1'
NO
GET
*.
yeS
*0
o.
*. fI-VF.S
"10
n.o oX..
CH~f~
o~AkJto~s
..
O'pE~~l.*C
3.a
CHE~K
0~Ab~9t6~s
lhn:IS~~M
E2
GENERATE CUt
TO 1I8RARY
~~~~~CA
o.
*tI
o.
.-
* ...YFS
..................
~~~IB~TY :
*
~I
: ~~~~H8 ='
*.
YES
:INIlr~nntION :
x.
CAll TO
. 04......
- .
.
t
PUT
NO
:'cHe5~
CA1I8
ic
E~
: Gf~F L 'J~A~ll :
*.
GFTlZ C5
.. ..
ic
..NhTThIP~e
CALl8
C4
x OAl'AI
l STEDIT,
*.
...02.:
~~~~~E~R
85
fcx o o
GETI'r
.ic
*.
X
~2..
OPENt'''
o.
84
:STORAO
~4
:
"'
opnb~T fN
PA~t;pf'R
................
lPIRARV
no; X
MVTRSP
MOVE DATA
*SPECTFICATfONS
TO OUTPUT
...
UNCHr\NGEO
GETI!5
.ic
:~~:=n~:
Et~hA:Q
x x 0', o e ,
221
Phase NT
Chart NT .
.....
Jver~ll
Lcgic Diagram
NT
AI
;;
INITULI ZE
PHASE AM)
GET 4K AREA
OF SCRATCH
STORAGE
At,
*.,
YES
e
NTrrll
:
.................
ic
TRIPLES OF
INTfREST TO
THIS PHASE
it
....04..
X
NTOl:l21
01
0'
COMMA YES
:OEDOSFE~~~~~IlL.E:.
IN EDIT lIST X.ANO MAKE ENTRV
TY S DATA
1ST
.. ..
........R
~.......
NO
t~~~21~.~2~=~U.:
.. )C .............. ..
X
*
SAVE TYPE
cnllF.S OF ANY
.DA TA I TEM WHICH.
MAY INVOKE
El
FORMAT
ITEM
oxo.~
NTJ~i: E2
*.
*..*
........
III
X:
YES
MAKE
~NTRV
I~E~ ~~tl
:.
NO
..x
*.
Fl.
END
OF
YES
FORMAT
LI ST
*. * *.*
*.................................................. .
NO
HI..
NTI'017
....
*H2..........
.. ..
NO
ic
Cl
222
....... .i.......
:R2~T~~ ~
.....
,-13
:
: RP~AC ~Ol~T S :
END OF YES
: MA~~EW;~lP
PROGRAM
X.
ll!RAa~
.........
~i
.................
.....
liSE U PRnr.
I'JR BEGIN
Cl
1~~~El~~~M~~R
;;
.x ........................................... ..
:..~H~~~:..:
..85..
it
.Al.
Cl X.
*. * *.-
.-
1\"
.....NU..
YES
*.
.ASSOCTATE ITF.MS
IN THE
NT:" 23
:ic
..... ..
F~T'
NO
~.
....
0*
*(,
B2
..
NTll00
X
Bl
B2
~CA~AiEE~ NO
:
FSRvr;s~En :
l~OI~~U~ B~ )(: PH~~h~C~NTO
NM
STORAGE
NTI.'flOl
..
e e e o oc
.......1
NT{'nnn
2hart NU .
.....
..
.....
'NU'
AI'
..,.Al.
'....1.4..........
*
**.......
IN~~lH! ZE
LOAD MODULE
IEMNV
.. ...............
:
*:1('..
.'
III
*1fr..
.0
**
x
.
" x." " ,,")(
' . x.
.x o
"
"luv' 27
.
...... 04..........
'.Gt;NF.~IITf LAOF.L
.. USED IN LOAO'
ADOP.FSS
.,"(:$
'''''''.'02''''''''''''''''
'. .'
."'''''''
NO
'.
... ..''''''.''''''''''''
.. "'."''''
0:
III.
'''.'''.'''
YF S '"
'.
III.
LIST
.*
...
1 "'.
"'. YES
.*
00 0 . .
05
FORMAT
ITEM
"' ..
'"
'" NO
3"''''''''''''''''''''''''
'''''.'''FZ''''''''''''''''''''''''''
"''''F
:FgSN~~~~fNX~~~N:
:
RESET COMMA :
)(. IOATA OUTPut)' "' X'" fNTRY IN SCAN'
'" BRANCH ROUND '"
TRT TAOLE
'"
'" FORMAT IEOITI '"
'"
'"
... ..."'.
"'''''''.'''''' "'
.. .. ...
"'' '
'"
"'.
GENERATE
'"
"'''''''.
'"
COMMA
"'. YES
'" LIBRARY CALL '"
'"
'"
"'. IN LIST OR ."' X'"
FOR
"' X'" B1 '"
"' DATA '
: ~~A~k~PH~~:
x '" "'."'''' '"
"'.
....."'''' ..'"
'"
"'.
II
NO
PR.OGRAM
*e
*. "'.
,,*
.*
* *
1\
... ..
~
F
","'DATA' "'.'. YES
.eolT' OR [IST."',
t.
.'"
"'..'"
'. NO
'"
'.
*s..,.
'" NO
Gl
NO
."
0* E5
YES fND OF
*
*
'" NO
.K"'.
".
."'K.
'.
".
111.,,* . '
.'.
.K.......... 0.."
1)""'*04 "''''.'''......
..
GENERATE
........ APPROPRIATF.
.. LIBRARY CALL
4r
x:
LtST
*)(000('01)110*.
t.T E n I T '
NO
'
*0
ic
NU0018
GENERATE CODE'
.'
' . YES
TO LOAD AD~R '"
' . ".
EO IT
. ' X:O~ NtgR~HNbA~b :
REGISTER 8
'"
-.
'0
.'.
R5
'.
YFS.'
FORMAT
'.
1tI................
..
K
.'.
' .
01
El
. '
C1
..."'.............
~...............
."'.
~>;
'. TRANSMISSION
'.
.'
REGI5T~RS
..
X
NU1~l"'.02
..... 01
LA
GENERATE
- .. -.-.-.-.-.-.-.
UORARY ~ALL
:
i~~~L~O~F
:)( : DI~rcTg~ ~NO
INTEREST'
NO LIST
..
ic
"ll).. "11
"
NUl (1)2
115
Rl
'''
"lU;'"l3
ic
.....F4"''''''''''.
: MooO[HA~F.MNU :
IFM~V ANO 4K
OF SCRATCH
'"
.. ..... .."'."''''''''''
"'''''''''''''
'" .
"'
'" "'."''''
'" '"
61 '"
"'
'OB '"
'" At '"
'"
* "' "''''"'."''''"''''''''''."''''
.'.
NU~~24
'"
GENfRATE
'"
COMMA
' . YES
'" LA 1 DATUM
"'.
IN EDIT
."' X'"
LA ~.(lED
"'.
LIST.'"
BAlR 7,8
HI"'.
*..*
"""'''''HZ''''''''''''''''''''''''''''''
'"
",, , ... t.
"
I~'.
Jl.. "'.
NU(l~~~."'J?"'''''''''''''''''''''''' ,{ ':
..
'"
"'.
'" GENERATE CODE '"
"'PRE-FORMAT YES
TO ORA~H
'"
*..*
"' NO
'"
."'...
A5
"'''''''''' '"
Dir~ctories
223
2nart OB .
Over~ll
Phase JB
.....
..
Lcgic Diagraro
OB
AI
..
.
................. ....
...
A I . . . . . . . . . . .
X.
SCAN TeXT
..
.X )( .,
.........
..
*.
III...
x
BI
*.
Al
END
OF
TE1(T
YES
....
NO
00
BI
X
CI..
COMPILER YES
.. ..
ST4 C2
C3.;
PLACE
BUMP
..
PSEUOO
STACK
: 1(: pX~~~:~Hs
..
. . .
IN STACK
V~~i~g~E X:
NO
x
.111.
..................:
.................
.111.
ST6
01
02
03...........
I S . .
FXAHINE.
COMPILER YES
ASSIGNEO YES
PSV OPERAND"
ASSIGN
X VALUE FIXED
AT TOP OF
.....
BIN AR Y
lC.
S T ACK "
III.
? .111
X.
*. *
*.
NO
NO
......................
X:
..
.. ..1\.
Ct.LCLlLATE.
flOP= VECTOR
OFFSET FROM .......... 1(.
PAR4'1erl'RS.
NO
41.
iii.
eo;
GF.NFRATF
CODE TO
SET RFSULT
PI OOPF
VECTOIl
..................
....
0:
.
..................
1'4
REPLACF.
"IT" BY
PSEunO-COOE
"IVC
1'5
.................
.................
*. TEMP
.....
e 00 0
An
Al .X
:)(."
F3..........
Fl..
MTFR
F2'
FRS l~~
I S . .
REPLACE.
MTF
YES
FIRST
YES
BY
FUNCTTON
oprRANO
,x..
WORKSPACE
00.,.X.
...
... CTL OR
REFERENCE
NO
O f t . " . O.
'x
E2
Pl~CE AS'SIGN
TO F I)(EO
BINARY IN
TE XT
...*
..
. ... **
.....4..........
....................
......
"Xo 0
X..
X.
**.. .C'..*
N:J
ic
.<
AT~
c*o
1)4
f)5
REPLACF
CTL
YES
OPFR~NO BY
OR TEMP
WORKSPACE
REF
o.o.X..o.
AOVR
G2..........
G3 . . . . . . . . . ..
AOV
CALC ULATE.
..
GENERATE
..
OR S[lV
YE'S
OrJPE VFCTOR
PSEUDO-COOE.
FUNCTION
X. OFFSET FRO"l )(.
TO LOAI)
X. Al
PARA"IETER'S"
REGISTER FRO'4 ..
[lOP!' VFCTOR.
GI
......"'..........
.. ..
NO
.................
*..
ST7, ST6
BY5
HI..
H2
H3
IS..
"'.
"
BUYS
*. YES
IT A
NO
SCALAR.
., yrS
OR FIRST
........... X DOP: VECTOR 0X.1\
< 256
( I . f \ ..
RUY
..'lNLY TEMPo.
!.IYTES ."
.....
o.
*.
fI
. ..
.YFS o.
Xe
*0
JI
SFLL
7.NO
nQ
*.
..x
. , r
NO
RUV
* *
*0
0*
.*
KI
o
N J
O . J " *0
*0 ({
224
..
ft
x
..... 3...........
..... 5..........
f..... .*J4..........
....
*
........
*****.** *
*** **
110 r! O .
o.
11.0.001'1 0 . 0
~L I r . N .
WURKSPACF.
T(1
*.,1.\0"0".''(.
R'lIJNO
"'.
4-~YTF
coo
PL AC
WORKSOArF.
'"
OFFSE'T
.o,~,.~ .. ,,~X.
IN 'lrFSF.T 2
SLOT..
IlIJ'4P
W'OP'I(SPA.CE
r 'JIJ 'IT
'"
.onno'H)O"')(*
X"
. . .
:11:*"
POIOVF
5TArE~FNT
FP,O'1 TFlCT
*.~
..
x
****
-.
"'.
vF S
OFFSET
1'1 OFFSFT 1
SLOT
** **.
*.** *********
.!. *.
HA S
HS .......... .
PL AC F
WORKSP~CE
****
X. Ai '"
;>..........
*
*
** *.*..
RVlq
J
NO
: STIr
.. .
*. NO
YES
H4
flL I G N .
WO'\I(SPACE.
Tn
."coe r-X.
RF'lUIP~'l.
'"
'"
BOU"JOARY.
e~r.X:.
III
.ft
0 . 0 0 0 1100 00
oor
.~o
0 -:0""
t"
~"o oon
Cr!"" 0
ftc ..
ft8
0'
"I :
..
.....
..
00
... Bl'"
SCRCOR
OF
... SC ~ATCH CORE
'"
...
MOVTAB
*'~.C I .......... .
'lOVE TABLFS,
...................
...
SCRATCH CORE
...4'.DI..
~
SET UP
PO INTfR
1 N REG I S TER
." E I
END OF
..................
.....
:RELt~~~Rt~~TROL:
...
OE
Al
S~ction
225
Chart OE.
*
OE
Al
ic
ASS"32
'iPASS
83
11..
AllOCATE OR
SPECIAL YES
IIUY POItAGE
: X !SU~~~~NT 1(: FO~p~~~~~O
:
81
SCAN TEXT
FOR A"I
INTERESTING
TRIPLE
.. ..
.................
,*
NO
x.
ic
C1
*.
YES
:g~~ An py~~R~~gH:
ASSIGNHENT X. TH~O TRIPLES]
TRIPLF
AND CHECK FOR
VALIDITY
.. ..
NO
ASS 1)1'1
C2
.................
C3
ARE
.. ..
OP~RA"lOS
YES
Fl~AIJRG
*..*
NO
111.,,.
ASFLl"
C"
GENEItA TF. COOE
FOR FkOATlNG
,,)(:
ASSr:G~~l.NT
: 0
.................
*
...
Aspar-'
03
. . . . 1). . . . . . . . . . . .
ARE
GENERATE CODE
OPERANDS YI'S
FOR PO~NTERI
~O~~HHsO~
AS~~~.N~~NT
: 1(:
*,
.. ..
,I(:
.................
,*
NO
ic
lISARr r
E3
1' ........... .
G~HERATF.
ARE
YES
.LJ8RARY ~A~LlNG.
*.
.. ..
.................
NO
1'3 ..
1'............
ic
*.
, " bp
III"
.. ..
~IXEO
*,.*
ASFBtr
~~~DS
8 I NARY
GE~E:A~~ I(~HF.
.................
YES
:
,.." x.
...
NO
al~AAy
ASS I GNHENT
" ~.x.
f,SFOf'
G3
G........... .
:;P n~DS YES
: GE~R=AHI(~goE :
~IXED
. . . . . . . . . . x.
Ol'CIHIIL
lC
DECIMAL
ASSIGNHENT
.. ..
.................
*
*..*
NO
III
O\STR: ,.
H3
H4
*STRING YES
: ~~~E~~HN&og~ :
*, OF Nl..fJIl'fRlc e X. NUMf.RIC FIELO *.D
F I EL~S
ASS I GFH~NT
*.
.. ..
.................
NO
J ~UY,
CAL III
:G~~~::TE":
.:" AL~bHh,
.:.!;~ ..... K:
FREE
.. ..
*..*
NO
Jrlrrt~~
................
.
.
....
....81 ..
SEOUENCF.
J3
0..x
f,SL"r
: . . . . J" . . . . . . . . . :
1(:
. : . ope~~~DS .:.:~~
LAI'IELS
*.
.. ..
Gr~S~~n8~roe
NO
ic
it
*K,
:E~g a~R~R~=~H,:
..................
OJ, 1."10 RELEA~E.
CONTROL
.....
ic
OG
A2
226
.........
....... .......... ....
GF"IC"I
X
K3
GF"IERATE
CONV HACRO
"'
..... ~. 81
ASOROP
ic
:.~:~~5S~=;~~~~.:
.................
: ~:
Ra~~~Tf~
ASSIGNHFliT.
TMPI) TRIPt F~
.................
)(.
...
..a......
III
..
~G
Phase
Chart 03.
~ver311
.......
Lcgic Diagraw
OG
AZ
TRSCAN
X
AZ
.. ...............
AZ X.
X
~....
"'
GF.T NEXT
TR IPL E AND
rXAMINE
. .....
..................
. ....
TSC I'll'
'"
'"
11 3
OUT PUT P I C .
Xoo a.
0 0'
I)
x.
0.:. 0 0 0 0
on () e
TSCSNO.
8Z
S 3
SN,
YES
STORAGE
Sl OR SNZ
' X.REQUIREMENT IF
NfCF SSARY
.. ..
.................
*..*
NO
ic
OZ
COMPI LE R ERROR
X
NO
TSCEP,!
E l . . . . . . . . . .
EZ
TERM INA TE
PHAS E~ DELFTF.
YES
:I~';;L~~CE~~U~S : X . . . . . . . . . . . . EOPZ
..................
.OM
81
.. ..
*..*
TSCPRC.
03
04
PROC
'"
PRES E RVF
OR BEGIN YES
'"
WORKSPACF
.. ..
.................
NO
1'3
X............
NO
*...
....
JUMP
YES
x.x o
.. ..
.. ..
oeo o
F3
.
.
..
.*
...............
....
"ftftO.O 0.(> 10 0 0
CNVFNO
F5
*.
x.
Gz.;
MOVE PSEUDO-
CODE TO OUTPUT.
.................
X
: PUlo8~N~~MEO
OUTPUT BLOCK
1fI
NO
.X ., e
PCSCAN
X
G3
GET NEXT
PIC ITF'!
'!JG
~=1"G5 .i........
X!
......
.................
: G5 :
GENf~AlhEOOE
LIBRARY
: NO
ic
NO
IEMOH
HZ
H3
H4..........
H5
El(AMINE
YES
.,
NO , .
YO:S
OPERANDS OF
IN-LINE
IGNORE
K. . . . . . . . . ,
CONVERT
. . . . . . . . . . K. CONVERT ANn . . . . . . . . . K CONVERSION
CHECK IF TIiF
.CONV IS IN-UNE.
.0
.. ..
.. ..
.................
IE'!OI
J 4 . . . . . . . . . .
:
G5 .X.,
......
1~[~~AgDE:
FOR THIS
C'lNVERS ION
....
YES
ic
J5
YES ~ONVERSIO~
.X DONE 8Y 01
.,~...............
....
*..*
NO
ic
K5.
OUTPUT
MOnlFIED
OP
.................
section 3:
Ch~rts
227
~hart
OM
e~.
.81
x:
SH~TUICT
..
i
jz
Cl
N~OE
ITEM YES
B AN H ON
CDNY~ItJ MACRO x.
CONT tNEO
i.
.i
.TRANSFER YECTOR.
*..*
NO
..
....
.
.:x :
.... :
r
....
..
..:C,... : .....EZ..........:
..
.:x.:
:x :
01
*oZ
NO
~NO OF TEX! X
UNPACK
(DEC TO PICI
YES
*OP
(PICPf~KOECI
.................
... .Z
. .
OToe
(DEC TO elNI
.x
.....GZ...........
:X :ILleRU~RCAlll :x :
.HZ.
:x :* I OEcEVATPIC I :X
:
.....JZ.
..
.:X:.
: :
IOEeE9~KpICI
..
..................
.
I<Z.\
228
OTne
::':ba.rt OPe
C2
oil
>tOP
ic
C2'.
oil
oil
ic
.
....*03..........
SCAN TEXT
.0.02 ..
.. .'"
....
...
:.... .....:
.-.-.-.-.-.---..:
~;~:;
oil
X"
oil
F2
:" 0
.~
..
X:
~dN ftV~
...n"
.
....
.. .
CONVFRT YES
:
8RA~H O N :
:_._.~l!~~~-*-.-:
MACRO
X.
CON AtNED
"IT TO
X. E?
.TRANSF.R VECTOR.
8 NARv
'"
'"
lC.
NO
..
E2 X.
NO
.*
.X tI 6
E2
END
OF TEXT
*. *.
....
:12:
YES
'''.
.:*
.....
....."'."''''''''''.....''
F~.
.. 0.lC::-.-.~k!2!~-.-.-:
:
F~V~XR~O
229
Chart
as.
Phase
......
1\2
X
GET SCRATCH
STORAGE TElIT
8LOCK.
SET SCAN 0
.*
NO
..................
AAt
:-.-.2!!~1-
......:
INTO lOCATION
.1(..........
s~ Y~~:
CONl~~~~ I N :
1Ulli ..
.. ..
VSEA
85.
GET NFl(T
SCANAt
2
YES
ijNSt N~..
O.S~A~ "
ic
...... ...........
8'1 1
8 4 .
xx
. . . . .C1.'........
up8~HN!CAN
ic
PA
83
CONSTANT IN
A4
:~ntT:;~:
..
ic
STPTST
*.
YES * END OF -.
SCAN It
X "....
CHAIN
,.*
.*
*,.
*. * *
**.. .a**.*
YES
.. NO
LOCOMP
0..
A3
A4
* ....
: :
"
CHAR TO
Pl8~~~~~16~AR
J3
NO
:l(
:
CH~~ ~~~lNG
CONYERS ION
YE S
C5
...................,
..
..
.
x .....
:
C3
:
CONVRT:
:
...............:
:
l(
l(
&..............
* .
vsc: *C"'..........
fI
~~.:. pf~~ano
.:.
..'.
l(
lI. J3 ..
*.
o.SOg~tiE
*.
e.
:.~? .....
*.
03
*. NO
POOU~ . .E1.a . . . . . . . .
SCAN POOL
FOR SIMILAR
ENTRY
:
o
.:...
..x
S~=neR
*. * *.*
NO
'l2~
aIc
o.o.
.*
0 ANS
'I
f3
*.
....
ic
F3
.*.
*..
*. *.*.*
x
.-..-.- .............-.
...................
ic
G2
CONYRT
H2
AR~05rN~~~T
TElCT BLOCK
:
:
....
.
.
ic
AAt
....
*"
e..*
*
YES
.
Fit
*...
*.
....
FORM
CHAR TO
81 T S TR fNG
CONYERS tON
o.
.0 ..:1...
NEEDEO
.*
.:"".
G3
H~r~~
...0 ..
:
aX*
....
..
..lI!. .
*.
G4
*"
*...
.c
0*
NO
Bt~lm~r~G
CONYERS ION
C~~RA~T~~NG
CONV"R~ION
ARCHD
ic
H4
ARITH TO
CHAR
CONVERSION
.. J3 X.
CHARD
ic
J3
RETURN
'"
CHAR TO
~RITH
C ONVF RS JllN
......... ****
x
"..
1(4
YES
*t'
I\RARD"
1(5
.'" SOURCF
., NO
K4 . . . " )(..
Cl-tARACTER
l ( .
....
., ~TRI"'G .'"
230
(\
L"~
YES
x e. x
~
1'"
AR8Tn
Go;
.
.....................
. .................
.
..
.
................ ....J4.......
ARTTH
0*
CHA~~ H3.:
ARITH TO
CONYERS ION
'In
*...
* *
YFS
* *
NO
J~
ARARO
"5
~riNvERSln~
ic
x..
\~1aR~I~n~~-
IN INTeRNAL K.n
AAt
YES
INTO TEXT
8LOCK
SEE C 3
*.
VSOA
ic
1''1
..SOURCE YF.S
AN
*. .to
NO
ANO
xx ., ................. ..
HR~E~.'
..
.*
*...
*.
YES.
oX. K"
* *
o. UNAL CHEO NO
.:.:;~.
*SOURCE *.
NO
05
X*:"'sltAHHNG . : .
.. YES
*. *STR.ING
. *
*
NO
SCANl
...
".
o.URfE~O.
IIOR
*
..
*.
ic
0
YES o.SI
0000.0
AL
.................
Fl
SCAN2
DIt
*c
.".n.ft.
ARITHMETIC
TO AP,I Hi
..
CO"IVF.RSfON
...
.......
*
r-----------------------------------T---------------T-----------------------------------,
I
IMain Processingl
I
I
Statement or Operation Type
I
Routine
I
Subroutines Used
I
~-----------------------------------+---------------+-----------------------------------~
ISCINIT Initialization
ILAOOOS
IUT01,UT02
I
~-----------------------------------+---------------+-----------------------------------~
ISC1
Search for triple of inter- ILA0010
IUT01,UT03,UT06,UT07,UT08
I
est
I
I
I
I
~-----------------------------------+---------------+-----------------------------------~
ISC2
Move current triple then
ILA0011
IUT01,UT03,UT06,UT07,UT08
I
search
I
I
I
I
~.-----------------------------------+---------------+-----------------------------------~
ISC3
Delete current trifle then
ILA0012
IUT01,UT03,UT06,UT07,UT08
I
search
I
I
I
I
~.-----------------------------------+---------------+-----------------------------------~
ISC4
Skip current triple - text
ILA0020
IUT06
I
wanted
I
I
I
I
~-----------------------------------+---------------+-----------------------------------~
ISCS
Skip current triple - text
ILA0021
IUT06
I
I
free
I
I
I
~-----------------------------------+---------------+-----------------------------------~
ISC6
Move current triple - text
ILA002S
IUT03,UT06
I
wanted
I
I
I
I
~.-----------------------------------+---------------+-----------------------------------~
ISC7
Move current triple - text
ILA0026
IUT03,UT06
I
I
free
I
I
I
~.-----------------------------------+---------------+-----------------------------------~
ISC10
Symbolic input pointer to
ILA0035
IUT01
I
I
absolute
I
I
I
~.-----------------------------------+---------------+-----------------------------------~
ISC11
Skip pseudo-code - text
ILA0040
IUT06
I
wanted
I
I
I
I
~-----------------------------------+---------------+-----------------------------------~
ISC12
Skip pseudo-code - text
ILA0041
IUT06
I
I
free
I
I
I
~.-----------------------------------+---------------+-----------------------------------~
IMV2
Move user pseudo-code to
ILAOOSO
IUT04
I
I
contiguous OP
I
I
I
~.-----------------------------------+---------------+-----------------------------------~
I1'1V3
Move user pseudo-code to OP I LAOOSS
I UT04
I
~.-----------------------------------+---------------+-----------------------------------~
IMV3A
Move user triples to OP
ILAOOS6
IUT03
I
~.-----------------------------------+---------------+-----------------------------------~
IDV1
GE~nerate dope vector for
ILA0070
IUT07,UT10,UT11
I
based aggregate
I _______________ I _ __________________________________ JI
lI ___________________________________
~
231
.Table LA1.
r------------------T---------------------------------------------------------------------,
I Routine/Subroutine I
Function
I
~------------------+---------------------------------------------------------------------~
DVl
IGenerate dope vector for based aggregate.
MV2
MV3
MV3A
SCINIT
SCi
SC2
SC3
SC4
SC5
SC6
SC7
SC8
SC9
SC10
SCll
SC12
UTOl
UT02
UT03
UT04
UT05
UT06
UT07
UT08
UT10
IUTll
Convert output text references to __________________________________
absolute.
L
__________________ __________________________________
.
~
232
r-----------------------------------T---------------T-----------------------------------,
I
I
IMain Processing I
I
Routine
I
I
I
Subroutines Used
t-----------------------------------+---------------+- ----------------------------------~
ISCAN
I
I
I
I
~-----------------------------------+---------------+-----------------------------------~
ISCAUTO
IMAIN
t-----------------------------------+---------------+-----------------------------------i
IMAIN
I
ICNSTWK, ARRENT
I
.--------.---------------------------+---------------+-----------------------------------1
IProcesses IDV
statement~)
IAUT012
IARrtENT
t------------------------------------+---------------+ -----------------------------------~
IProcesses
INITIAL arrays
I ARRENT
L
___________________________________
_______________ ICNSTWK
_ __________________________________ JI
~
Table LEi.
r------------------T--------------------------------------------------------------------,
I Routine/Subroutine I
Function
.------------------+---------------------------------- ----------------------------------~
ARRENT (LC)
AUT012
CNSTWK
ENDRTN
MAIN
SCAN
SCAUTO
L SFSCAN
___________________
Iscans
through second file statements.
_________________________________
___________________________________ J
233
r-----------------------------------T---------------T------------------------------------1
I
I
IMain Processinql
I
Routine
I
Subroutines Used
I
I
~-----------------------------------+---------------+- -----------------------------------1
L ___________________________________
r------------------T--------------------------------------------------------------------,
I Routine/Subroutine I
Function
~------------------+---------------------------------- -----------------------------------1
ARRENT
CNSTWK
CNVERT
ENDRTN
GAAl
GAC3
LOVNAS
STATIC
STRADD
ST0006
ST0088
IST9999
L __________________ i ___________________________________________________________________ _
234
T -----------------------------------,
r----------------------------------- TI --------------Main Processing I
I
I
I
235
Table LG1.
r------------------T--------------------------------------------------------------------"
I Routine/Subroutine I
Function
I
~------------------+--------------------------------------------------------------------~
CODE2
IGenerates loop control code.
I
I
CODE3
IGenerates loop control code for wHILE.
COMPAR
CVCODE
CVCOPY
CVSCAN
DICCHN
DICENT
EXPEVL (LH)
LGOOOO
Initializes phase.
LGOOO2
Scans text.
LGOO1O
LGOOll
LGOO12
For iterative DO' and DO' triples pushes up stack and removes top
entry.
LGOO13
LGOO15
LGOO17
LGOO19
LGOO21
For WHILE and WHILE' triples, marks loop as iterative and generates
text triples.
LGOO22
LGOO24
LMV3AU
LMV3A5
POPUP
PSHDWN
PSTYPO/PSTYPl
SWITCHP
TESTOP
l __________________
236
r-----------------------------------T---------------T-----------------------------------,
I
IMain Processingl
I
I
Statement or Operation Type
I
Routine
I
Subroutines Used
I
~-.----------------------------------+---------------+-----------------------------------~
IScans text and branches to
ILBO
IARITH, FUNCT, LZZ1, MOVEPC,
I
Iprocessing routines; marks phase LWI
ISCAN (LA), STRIN~, SUESPT
I
land releases control to next phase I
I
I
~-.----------------------------------+---------------+-----------------------------------~
Icalculates result type and
IARITH, ARITH2
IADDSTK, ASSIGN, CONVT, CICDES,
I
Igenerates pseudo-code for +, -, *, I
I EXPONT, GENRPD, GETADX, GETFR,
I
I/f prefix +, prefix -, compare
I
IGETGR, MCVEPC, RELSTK, SETCPX,
I
loperators, and ADD, MULTIPLY, and
I
I STRING, SWOP
I
IDIVIDE functions
I
I
I
~-.----------------------------------+---------------+-----------------------------------~
ICalculates result type for string
I STRING
ILZZ1, MOVEPC, STALRG
I
I
I
I
I operators
~-.----------------------------------+---------------+-----------------------------------~
IInserts symbolic register in subISUBSPT
IADDSTK, DICDES
I
Iscript triple and stacks result
I
I
I
~-----------------------------------+---------------+-----------------------------------i
IInserts workspace descri~tion in
IFUNCT
IADDSTK, ARITH, DICDES, GETFR,
I
ITMPD triples after function, and
I
IGETGR, SCAN
I
Istacks result.
Stacks arguments
I
I
I
Ifor ADD, MULTIPLY, and DIVIDE func-I
I
I
Itions. Adds pseudo-variable mark- I
I
I
lers to stack
I
I
I
~-----------------------------------+---------------+-----------------------------------~
Icalculates results types and
I EXPONT
IADDSTK, ARITH2, CONVT, GETADX
I
Igenerates pseudo-code for ** opera-I
I MOVEPC, STALRG, SWOP
I
Itor.
Generates calling sequences
I
I
I
Ito library subroutines for complex I
I
I
I arithmetic
I
I
I
~-.----------------------------------+---------------+-----------------------------------~
ICalculates target type and
ICONVT
IADDSTK, ASSIGN, GETFR, MOVEPC,
I
Igenerates assignment triple for
I
ISTALRG
I
Iconversion; sets dictionary entries I
I
I
Ifor constants
I
I
I
~-.----------------------------------+---------------+-----------------------------------~
IInterchanges operands; optionally
ISWOP
IGETADX, GETFR, GETGR
I
Iloads first operand
I
I
I
~-----------------------------------+---------------+-----------------------------------i
IObtains free floating or fixed
JGETFR, GETGR
IGETADX, STALRG
I
larithmetic register; stores it, if I
I
I
Inecessary
I
I
I
~-.----------------------------------+---------------+-----------------------------------i
IAdds items to, and releases items
IADDSTK, RELSTK INone
I
Ifrom intermediate result stack
I
I
I
~-.----------------------------------+---------------+-----------------------------------i
IGenerates calling sequence for
ISETCPX
I EXPONT, GETADX
I
Icomplex * and I operators, superI
I
I
Ivises complex arithmetic
I
I
J
~-----------------------------------+---------------+-----------------------------------i
IInserts TMPD triples after zero
ILZZl
IRELSTK, SCAN
I
lloperands
___________________________________ I _______________ I ___________________________________ JI
~
237
Table LSi.
r------------------T-------------------------------------------------------------------I Routine/Subroutine I
Function
~------------------+---------------------------------- ----------------------------------
ADDSTK (LT)
ARITH/ARITH2 (LT)
ASSIGN
CONST
CONVT
DICDES
EOP2
EXPONT (LU)
FCTDES
!
I
I
I
I
I
I
I
I
~
~
FUNCT
FXCi (LT)
GENRPD
GETADX (LT)
GETFR/GETGR (LT)
LBO
LBE21 (LT)
LBFLi (LT)
LZZl
MOVEPC
PSI
RELSTK (LT)
SETCPX (LU)
STALRG
~
~
~
~
~
~
I
~
I
~
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
Generates pseudo-code to store all arithmetic registers currently inl
use.
I
I
I
I
SUBSPT
Inserts symbolic register in subscript triple and puts result in
I
stack.
I
I
SWOP
Interchanges operands and optionally loads first operand.
I
L __________________ L ____________________________________________________________________ J
STRING
238
Table LV.
r--------"---------------------------T---------------T-----------------------------------,
I
I
IMain Processingl
I
Routine
I
Subroutines Used
I
I
~----------------.-------------------+---------------+-----------------------------------~
ISTRUTO
I
INone
I
~------------------------"-----------+---------------+-----------------------------------~
~-----------------------------------+---------------+-----------------------------------~
Table LVi.
ISTRUT2
INonE
I
I
I
I
I _______________ I _ __________________________________ JI
r------------------T--------------------------------------------------------------------,
I Routine/Subroutine I
Functicn
~------------------+---------------------------------- ----------------------------------i
LSUT17
LSUT22
LSUT26
LSUT27
STUTO
STRUTi
STRUT2
ZSTUTi
ZSTUT2
L __________________
I
I
I
I
I
239
r-----------------------------------T---------------T-----------------------------------,
I
IMain Processingl
I
statement or Operation Type
I
Routine
I
Subroutines Used
I
~-----------------------------------+---------------+-----------------------------------~
IInitializes phase, scans text and
IBEGIN
I FUNPT, SCAN (LA), STROP,
I
Ibranches to processing routines;
I
ISUBSPT, TMPDT
I
Ireleases control to next ~hase
I
I
I
~-----------------------------------+---------------+-----------------------------------~
IProcesses TMPD triples.
ArithmeticlTMPDT
IGETMPD, MOVSEL, RELSTK, SCAN (LA)
I
Itype TMPDs are ignored.
String
I
ISET~PD
I
ITMPDs are replaced by the top item I
I
I
Ifrom the string stack
I
I
I
~-----------------------------------+---------------+-----------------------------------~
IProcesses function and function
I FUNT
~ADDSTK, DICDES, GETADS, GETMPD,
I
largument triples.
Arithrretic type I
I MOVEPC, RELSTK, SCAN (LId, SETMPD, I
Ifunctions are ignored. Dictionary I
ISTkOP
I
lentries are created for the resultsl
I
I
lof string type functions.
A
I
I
I
Ilibrary calling sequence is gener- I
I
I
fated for the BOOL function using
I
I
I
Ithe mechanism for packed tit opera-I
I
I
Itions. The result descriptions arel
I
I
ladded to the string stack
I
I
I
~-----------------------------------+---------------+-----------------------------------~
IProcesses subscript triples.
ISUBSPT
IADDSTK, DICDES, SEGNOR, SCAN (LA)
I
IArithmetic type subscripts are
I
I
I
lignored. A symbolic register or
I
I
I
Iworkspace offset is added to string I
I
I
Itype subscript triples and the
I
I
I
Istring description is added to the I
I
I
I string stack
I
I
I
~-----------------------------------+---------------+-----------------------------------~
IProcesses string operations CONCAT,ISTROP
IADDSTK, DICDES, GETADS, GETADX,
I
lAND, OR, NOT and comparisons with
I
IGET~PD, MOVEPC, MOVSEL, RELSTK,
I
Istring type operands.
For simple
I
ISCAN, STRUT (LV), ASSIGN, GETWS4,
I
Icases, in-line pseudo-code is gen- I
IGETWS8, SBGNER, SBGNR
I
lerated; otherwise calling sequences I
I
I
Ito the library are generated.
The I
I
I
Iresults are added to the string
I
I
I
LIstack.
___________________________________ I _______________ I _ __________________________________ JI
240
r------------------T--------------------------------------------------------------------,
I Routine/Subroutine I
Function
~------------------+--------------------------------------------------------------------~
ADDSTK
ADSTR (LY)
I
I
Iconstructs dope vactor and string descriptions from a given descriptor which may describe either a string, or its dope vector.
ASSIGN
BEGIN
DICDES
FUNPT
FUNT
GETADS/GETADX
GETMPD
GETWS4
GETWS8
LB
~MPDs
in the output
LIBl
LIL2 (LY)
LIL3 (LY)
LIL6 (LY)
LIL8 (LY)
Ll1
MOVEPC
MOVSEL
MVC1/MVC2(LY)
RELSTK
SEGNER
SBGNOR
SBGNR
SETMPD
SUBSPT
TMPDT
L T5
__________________
I
I
I
I
Processes subscript triples.
I
I
Processes TMPD triples.
I
I
Sets
flags for triple types.
__________________________________
__________________________________ JI
Processes string operations CONCAT, AND, OR, NOT, and comparisons
with string type operands.
STROP
241
Table MB.
r-----------------------------------T---------------T-----------------------------------,
I
IMain Processing\
\
\
Statement or Operation Type
\
Routine
\
subroutines Used
I
~-----------------------------------+---------------+-----------------------------------~
\Scans source text
\MBOOOl
\SCl (LA)
\
~-----------------------------------+---------------+-----------------------------------~
IPSI operator; starts new entry in
\MBOOll
\ SWITCH
\
\stack for pseudo-variable
\
I
I
~-----------------------------------+---------------+-----------------------------------~
IPSI' operator; completes stack
\MB0012
\SWI~CH, TARGET
\
\entry and generates code for data
\
\
I
\list items
\
\
\
~-----------------------------------+---------------+-----------------------------------~
\Assign completes stack and rescans \MB0013
IDRF~~P, MMV3A5, MVTMPD, OUTMPD,
I
\group of assignments, putting tar- I
\TARGET
\
Iget descriptions out in correct
\
\
I
\ sequence; generates code for
\
\
\
Ipseudo-variables in stack
\
I
\
~-----------------------------------+---------------+-----------------------------------~
\Multiple assign; places only target\MB0014
I MVTMPD
\
\descriptors in stack
\
\
\
~-----------------------------------+---------------+-----------------------------------~
\TARGET
\GETWKS
\ pseudo-variable,
if necessary
I _______________ \ _ __________________________________ J~
L
___________________________________
~
242
Table MB1.
r-------------------T--------------------------------------------------------------------,
I Routine/Subroutine I
Function
I
~------------------+--------------------------------------------------------------------~
DRFTMP
Makes temporary descriptor from a dictionary reference.
I
GETWKS
MBOOOl
MB0004
MB0010
MBOOll
MB0012
PSI' operator; completes stack entry and generates code for data
list items.
MB0013
MB0014
MB0020
MB1310
MB13l1
MB13l6
MB13l8
MB1320
MMV3A5
MVTMPD
OUTMPD
SWITCH
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
Il TARGET
temporary workspace for pseudo-variable,
if necessary.
___________________ Obtains
_________________________________
___________________________________
J
~
243
Table MD.
r-----------------------------------T---------------T-----------------------------------"
I
IMain Processingl
I
Table MDl.
r------------------T--------------------------------------------------------------------,
LFARIl
Continues scan for in-line functions.
I
LFARIN
LFDR
LFEOF2
LFIGN
244
in-lin~
code.
LFSPEC
I
Builds up argument stack.
I
I
Unpacks dictionary reference of argurrent when argurrent triple found. I
I
LFCOM
L SNAKE
__________________
I
Generates code for ADDR function.
____________________________________________________________________
JI
r-----------------------------------T---------------T-----------------------------------,
I
IMain Processingl
I
statement or Operation Type
I
Routine
I
Subroutines Used
I
I
~-----------------------------------+---------------+-----------------------------------~
IScans and moves text
IPhase LA (SCAN)ISC1,SC2,SC3,SC5,MV3
I
~-----------------------------------+---------------+-----------------------------------~
IBuilds up function stack
ISFUNC
IZDRAOF
I
~-----------------------------------+---------------+-----------------------------------~
IConstructs result TDB and branches ISFNPM
IMS4,MS5,MSB,RTAA,RTAB,INDEX,
I
Ito routines for INDEX, UNSPEC,
I
I ILUNSP,EVENT, ZDRAOF,STATUS
I
I CONPLETION, and STATUS
I
I
I
~-----------------------------------+---------------+- ----------------------------------i
T------------------T--------------------------------------------------------------------,
I Routine/Subroutine I
Function
I
~------------------+---------------------------------- ----------------------------------i
EVENT
FINISH
ILUNSP
INDEX
MSB
MSG
RLCTOF
RTAA
RTAB
RTB
Generates in-line code for the case when the first argument is an
aligned bit string, and the second and third arguments are both
constant.
RTC
RTD
RTE
IRTF
IGenerates in-line code when the first argument is a character
and the second and third are
both variable.
LI __________________ Istring,
__________________________________
_________________________________
_
~
245
T------------------T---------------------------------------------------------------------,
I Routine/Subroutine I
Function
~------------------+--------------------------------------------------------------------.~
RTG
RTH
Generates in-line code when the first argument is a bit string, and
the second is variable.
SBERR
Error routine.
SBGNER
Gets the next even register and sets the even/odd bit on.
SBGNOR
Gets the next odd register and sets the even/odd bit on.
SBGTNR
SCAN
SCINIT
SDCOM
SFNPM
SFUNC
STATUS
STRUT2
SUBl
SUB3
SUB4
SUBS
SUB6
I
I
I
ISUB7L
ISUB7R
I
ISUB9
SIGN
I
I
I
246
Table MG.
r-----------------------------------T---------------T-----------------------------------,
I
I
IMain Processing I
Routine
I
I
I
Subroutines Used
1-----------------------------------+---------------+ -----------------------------------~
IScans text
1-----------------------------------+---------------+ -----------------------------------~
ILFARIN
INone
l-----------------------------------+---------------+ -----------------------------------~
ILFCOM
INone
.-----------------------------------+---------------+- ----------------------------------~
ILFMOVE
I
IMV3 (LA)
I
I
.-----------------------------------+---------------+- ----------------------------------~
Table MG1.
r------------------T--------------------------------------------------------------------,
I Routine/Subroutinel
Function
.------------------+---------------------------------- -~--------------------------------~
ABBFLL
ABBFLS
ABSFB
Generates in-line code for ABS function with fixed binary argument.
ABSFD
Generates in-line code for ABS function with fixed decimal argument.
ALLOC2
CEILB (MH)
Generates in-line code for the CEIL function with fixed binary argument .
CEILD (MH)
Generates in-line code for the CEIL function with fixed decimal
argument.
CEILL (MH)
CElLS (MH)
Generates in-line code for the CEIL function with short floatingpoin1: argument.
CMPLXB
CMPLXD
Generates in-line code for COMPLEX function with fixed decimal argument.
CMPLXL
CNASTR
ICNVINT
L
__________________
I
I
I
I
247
Table MG1.
r------------------T--------------------------------------------------------------------1
I Routine/Subroutine I
Function
.------------------+---------------------------------- ----------------------------------~
CONJGB
Generates code for the CONJG function with fixed binary arguments.
CONJGD
Generates in-line code for the CONJG function with fixed decimal
arguments.
CONJGL
Generates in-line code for the CONJG function with long floatingpoint arguments.
CONJGS
Generates in-line code for the CONJG function with short floatingpoint arguments.
I
I
I
I
I
I
I
I
I
!I
I
ERRFUN
FLOORB Om)
Generates in-line code for the FLOOR function with fixed binary
argument.
I
I
II
Ii
II
FLOORD (MH)
IGenerates in-line code for the FLOOR function with fixed decimal
argument.
I
II
I
FLOORL (MH)
Generates in-line code for the FLOOR function with long floatingpoint argument.
II
Generates in-line code for the FLOOR function with short floatingpoint argument.
II
FLOORS (MH)
IMAGB
Generates in-line code for IMAG function with fixed binary argument.
IMAGFD
IMAGL
IM/,GS
LFARIN
LFARIl
LFCOM
LFDR
LFEOF2
LFEOF3
LFIGN
LFMOVE
LFSPEC
IREALB
L
__________________
248
I
II
~
II
II
I
I
I
Removes triple from text if inside an in-line function.
I
I
Moves generated code to output block.
I
I
Branches if IGNORE triple or not an in-line function.
I
I
Generates
in-line code for REAL function
with fixed binary argument. JI
__________________________________
__________________________________
Table MG1.
r------------------T--------------------------------------------------------------------,
I Routine/subroutine I
Function
~------------------+--------------------------------------------------------------------~
IREALFD
IGenerate in-line code for REAL function with fixed decimal argument.
I
I
IREALL
IREALS
I
ISBGTNR
'rRUNCB (MH)
TRUNCD (MH)
TRUNCL (MH)
TRUNCS (MH)
UNSPEC (MH)
IGenerate
I argument.
in-lin~
IGenerates in-line code for the function TRUNC with fixed binary
largument.
IGenerates in-line code for the TRUNC function with fixed decimal
largument.
IGenerates in-line code for the TRUNC function with long floatingIpoint arguments.
IGenerates in-line code for the THUNC function with short floatingIpoint argument.
IUTTEMP
a required amount of temporary__________________________________
work space.
l __________________ IGets
__________________________________
J
~
249
Table MI.
r-----------------------------------T---------------T-----------------------------------,
I
I Main Processing I
I
Statement or Operation Type
I
Routine
I
Subroutines Used
I
I
~-----------------------------------+---------------+-----------------------------------~
Iscans text
IPHASE LA (SCAN) INone
I
~-----------------------------------+---------------+-----------------------------------~
IBuilds up function stack
ILFARIN
INone
I
~-----------------------------------+---------------+-----------------------------------~
IBuilds up argument stack
ILFCOM
INon~
I
~-----------------------------------+---------------+-----------------------------------~
IMove generated code to output blocklLFMOVE
IMV3 (LA)
I
~-----------------------------------+---------------+-----------------------------------~
IGenerates in-line code
ILFEOF2
IMAXB, MAXD, MAXL, MAXS, MINB, MIND, I
I
I
IMINL, MINS, MODB, MODD, MODL, MOGS,I
ROUNDD, ROUNDL, ROUNDS
LI ___________________________________ I _______________ IROUNDB,
_ __________________________________
JI
~
Table MIl.
r------------------T--------------------------------------------------------------------,
I Routine/Subroutine I
Function
I
~------------------+--------------------------------------------------------------------~
LFARIN
Bu{lds uf function stack.
I
LFCOM
LFEOF2
LFMOVE
MAXB/MINB (MJ)
MAXD/MIND (MJ)
MAXL/MINL (MJ)
MAXS/MINS (MJ)
MODE (MJ)
Generates in-line code for MOD function with fixed binary arguments.
MODD (MJ)
Generates in-line code for MOD function with fixed deciwal arguments.
MODL (MJ)
MODS (MJ)
ROUNDB
Generate in-line code for ROUND function with fixed binary argument.
ROUNDD
Generates in-line code for ROUND function with fixed decimal argument.
ROUNDL
I ROUNDS
Generate in-line code for ROUND function with short floating-point
IL__________________ __________________________________
arguments.
_________________________________ _
~
250
eTable MK.
r-----------------------------------T---------------T-----------------------------------,
I Main Processing I
I
Routine
I
Subroutines Used
I~-----------------------------------+---------------+-----------------------------------~
~scans
text
~-----------------------------------+---------------+-----------------------------------~
~Builds
up function stack
ILFARIN
INone
~-----------------------------------+---------------+-----------------------------------~
eTable MK1.
r------------------T--------------------------------------------------------------------,
Routine/Subroutine I
Function
------------------+---_._----------------------------- ----------------------------------~
DIM
FREBIF
HBOUND
LBOUND
LENGT
LFARIN
LFCOM
LFEOF2
LFMOVE
Move~3
SIGNFB
SIGNFD
SIGNL
Generates code for SIGN function with short floating point argument.
SIGNS
Generates code for SIGN function with short floating point argument .
.------------------~----.----------------------------- -----------------------------------
251
Table ML.
r-----------------------------------T---------------T-----------------------------------,
I
I
IMain Processingl
I
Routine
I
I
I
Subroutines Used
~-----------------------------------+---------------+- ----------------------------------1
IScans text
~-----------------------------------+---------------+- ----------------------------------i
I FPFNAR
I
INone
I
I
I
~-----------------------------------+---------------+- ----------------------------------oi
IFPBIF
I FPARDl
~-----------------------------------+---------------+-
______ ___________________________ I
~
o~
Iselects
PL/I generic entry name
IFPGAR
FPARD3, GNSECO
L
___________________________________
_______________ IFPARD2,
_ __________________________________
.JI
~
Table ML1.
r------------------T--------------------------------------------------------------------01
I Routine/Subroutinr I
Function
~------------------+---------------------------------- ----------------------------------of
FPAOl
FPARDl
FPARD2
FPARD3
FPBIF
FPEPCO
I
!
I
FPGAR
Selects FL/I generic entry name.
I
I
GNFM2
IReplaces generic reference testing for uniqueness.
i
I
I
IGNSECO
entry in stack of parameter __________________________________
descriptions.
L__________________ IMakes
__________________________________
JI
FPFNAR
.Table MM.
r-----------------------------------T---------------T-----------------------------------,
I
I
IMain Processingl
I
Routine
I
Subroutines Used
I
I
~-----------------------------------+---------------+-----------------------------------~
IScans text
IPHASE LA (SCAN) INone
I
~-----------------------------------+---------------+-----------------------------------~
IScans list, counts arguments and
ICFCALL
ICFARID, CFPBIR, CFFDVS, CFMVTR,
I
lidentifies storage class
I
ICFMVCD
I
~-----------------------------------+---------------+- ----------------------------------1
252
eTable MM1.
Phase
~M
Routine/Subroutine Directory
r------------------T--------------------------------------------------------------------,
I Routine/Subroutine I
Function
~------------------+--------------------------------------------------------------------~
IBASED (MO)
I BEGIN
ICFALFl (MO)
ICFARHA
ICFARID (MO)
ICFBIFH
se~s
STATIC/AUTO flag.
CFB04
CFB021
CFB036
CFCALL
CFCALP
CFC03C
CFCFSS
CFEXIT
CFFBIR
CFFDVS (MN)
CFL06
CFL043
CFMLBR (MN)
CFMVCD
CFMVTR
CFNEST
CFY007
UTTMPW (MN)
gene~ates
argu~ent
list.
L__________________ L ___________________________________________________________________ _
253
eTable MP.
r-----------------------------------T---------------T-----------------------------------,
I
IMain Processingl
I
I
Routine
Subroutines Used
~-----------------------------------+---------------+-----------------------------------~
IMain
scan routine for phase
L
___________________________________
eTable MP1.
IMPl
ZDRFAB, ZTXTRF, ZUERR
_______________ ISCAN,
_ __________________________________
JI
r------------------T--------------------------------------------------------------------,
I Routine/Subroutine I
Function
~------------------+---------------------------------- ----------------------------------1
UT05
MPl
MP3
MP4
MP4A
MP8
MP23
MP26
MP27
MP28
MP29
MP30
MP31
MP86
MP87
MP5
SCAN
ZDRFAB
ZTXTRF
IZUERR
L
__________________
254
Makes
error message entries.
__________________________________
__________________________________ J
Table MS.
r-'----------------------------------T---------------T-----------------------------------,
I
I
IMain Processingl
I
Routine
I
I
I
Subroutines Used
~-,----------------------------------+---------------+-----------------------------------~
IScans text
ISBSCAN
INone
~-,----------------------------------+---------------+-----------------------------------~
ISBSTIH
I
I
I
I
IUTT~MP
~-,----------------------------------+---------------+-----------------------------------~
IChecks
subscript range
L
___________________________________
Table MS1.
ISBSBRN
INone
_______________ L
_ __________________________________ JI
r------------------T--------------------------------------------------------------------,
I Routine/Subroutine I
Function
I
~------------------+--------------------------------------------------------------------~
SBASS
SBCOBI (MT)
SBERR (MT)
SBGNOR (MT)
SBMVCD (MT)
SBNEST (MT)
SBSBRN (MT)
SBSCAN
SBSTIH
SBSUBI
SBSUBP (MT)
SBSUDV
SBS05
SBS06
SBSOO2
SBS029
SBTRID
SBXOP (MT)
SCAN
(MT)
L UTTEMP
__________________
Allocates
workspace.
__________________________________
_________________________________ _
255
Table NA.
r-----------------------------------T---------------T-----------------------------------,
/
/ Main Processing /
/
I
Statement or Operation Type
I
Routine
I
Subroutines Used
I
~-----------------------------------+---------------+-----------------------------------~
/Initializes text block
INAINIT
/SCINIT (LA)
I
~-----------------------------------+---------------+- ----------------------------------i
r-----------------------------------+---------------+-----------------------------------1
IProcesses ON statements
ION
r-----------------------------------+---------------+------------------------------------1
IPROCP, BEGINP
/
I
INAUTl
I
I
1
r-----------------------------------+---------------+------------------------------------,
IProcesses RETURN statements
IRETURN
INAUTl
~-----------------------------------+---------------+- -----------------------------------1
IProcesses function RETURN stateINA3002
INAU~B, NAUTCA, NAUT1, NAUT12
1
Iments for one data type
1
I
I
~-----------------------------------+---------------+- -----------------------------------1
/Processes function RETURN stateIments for more than one data type
1
INA3013
I
I
r-----------------------------------+---------------+- ----------------------------------~
IProcesses GO TO statements
IGOTO
INAUTD
r-----------------------------------+---------------+- ----------------------------------~
IGOLN
INAUTD
~-----------------------------------+---------------+- ----------------------------------1
IGOOB
t-----------------------------------+---------------+-----------------------------------1
IProcesses SIGNAL statements
I
I SIGNAL
I
NAU~8,
I
~
t-----------------------------------+---------------+- --------------------------~-------~
IProcesses
REVERT statements
IREVERT
SC5 (LA)
L___________________________________
_______________ LINAU1D,
_ __________________________________
Jl
~
256
Table NA1.
Phase NA Routine/Subroutine Directory
r------------------T--------------------------------------------------------------------,
I Routine/Subroutine I
Function
I
~.------------------+--------------------------------------------------------------------~
EXIT
GOOB
GOTO
GOLN
IF
NAINIT
IProcesses GO TO
staterr~nts.
IProcesses IF Statements.
NASC1/NASC2/NASC3
Scan text
NAUTA
NAUTB
NAUTCA
NAUTD
INAUTF
L
__________________
f~r
RETU~N
function result.
IGenerates
pseudo-code to branch to __________________________________
L~U v~lue.
__________________________________
J
257
Table NA1.
r------------------T--------------------------------------------------------------------,
I Routine/Subroutine I
Function
I
~------------------+--------------------------------------------------------------------~
NAUTl
IGenerates call to indicated library routine.
t
NAUT2
NAUT5
NAUT6
NAUT7
NAUT8
NAUT9
NAUT11
NAUT12
NAUT16
NAUT17
NAUT18
NAUT21
NAll00
NAl140
NA3002
NA3005
NA3013
Processes function RETUHN statements for more than one data type.
NA8003
NA801D
Converts ID to bit-string.
NA8012
outputs pseudo-code.
ON
PROCP/BEGINP
RETURN
REVERT
SIGNAL
STOP
I
I
Processes ON statements.
\
IZSTUTl
Istring utility in Phase LV to provide a dope vector for a specified
IL__________________ Istring.
__________________________________ - ________________ ________________ J
~
258
.Table NG.
r------------------------------------T---------------T-----------------------------------,
I
IMain Processingl
I
I
Routine
Subroutines Used
~-----------------------------------+---------------+-----------------------------------i
IALOCAT
I
ICALIB, FALUTl
I
I
I
~-----------------------------------+---------------+-----------------------------------i
IDLAY
~-----------------------------------+---------------+-----------------------------------i
IDSPY
I
~-----------------------------------+---------------+-----------------------------------i
IFREE
I
ICALIE, FALUTl
I
I
I
~-----------------------------------+---------------+-----------------------------------i
IProcesses
WAIT triples
IWAIT
L.
___________________________________
_______________ LICALIB,INTEG,SCAN(LA},OPLAST
___________________________________ JI
~
.Table NG1.
r-------------------T--------------------------------------------------------------------,
I Routine/Subroutine I
Function
I
~-------------------+--------------------------------------------------------------------i
CALIB
CHAR (NH)
I
I
DLAY
DSPY
DSPY3
DSPY4
DSPY10
ENDLST
FALUTl
INTEG (NH)
NGO
OPLAST
L STORAD
__________________
I
I
I
I
I
Stores
an address in a parameter list.
____________________________________________________________________
JI
259
.Table NJ.
r-----------------------------------T---------------T-----------------------------------,
1
IMain Processingl
I
I
Statement or Operation Type
I
Routin~
I
Subroutines Used
I
~-----------------------------------+---------------+-------------------------~---------1
IInitialize Phase NJ by calling in
ISTRTNJ
IZLOADW (AA), SCINIT (LA), SC1 (LA) I
Iblock NK and initializing SCAN
I
1
I
lutility
I
I
I
~-----------------------------------+---------------+------------------------------------1
IInitializes switches and flags to
INUSTAT
I TXTEST
I
lindicate start of new statement.
I
I
I
IDetermines RECORD-oriented I/O verbl
I
I
land goes to appropriate routine
I
I
I
~-----------------------------------+---------------+------------------------------------1
IGets next triple of interest,
ISCNOPT
ISC3 (LA), TXTEST, SCAN01, CMPERR
I
Iconverts to internal code and sel- I
I TXTERR, ZABORT (AA)
I
lects the appropriate routine to
I
I
I
I process it
I
I
I
~-----------------------------------+---------------+----------------------------------_.\
260
Table NJ.
r-----------------------------------T---------------T-----------------------------------,
I
IMain Processingl
I
I
Statement or Operation Type
I
Routine
I
Subroutines Used
I
t-----------------------------------t---------------t -----------------------------------~
TX~ARG,
t-----------------------------------t---------------t- ----------------------------------~
IKYTOPT
I
I
I
I
I
I
I
I
I
I
t-----------------------------------t----~----------t-----------------------------------~
~STDROP,
t-----------------------------------t---------------t- ----------------------------------~
I TXTARG,
ILAONLY,
I MVTRPL,
ICMPERR,
IWRKSPC,
I
I
I
I
SCALAR,
STDROP,
LAOSM1,
TMPREF,
SYMREG,
CINTEG, DYNMPL,
MVPSCD, WRKSPC,
ZDRFAE (AA),
NXTMPD, MV3A (LA),
MV3 (LA)
I
I
I
I
I
I
I
I
I
t-----------------------------------t---------------t- ----------------------------------~
261
r-----------------------------------T---------------T-----------------------------------,
I
IMain Processingl
I
1
Statement or Operation Type
I
Routine
I
Subroutines Used
I
~-----------------------------------+---------------+-----------------------------------t
DYN~PL,
I
I
I
I
I
I
I
I
~-----------------------------------+---------------+------------------------------------1
I
I
I
I
262
Table NJ.
r-----------------------------------T---------------T-----------------------------------,
I
I
IMain Processingl
Routine
I
Subroutines Used
I
I
~---------------~--------------------+---------------+-----------------------------------~
INLKOPT
I
INone
I
I
~--------.---------------------------+---------------+-----------------------------------~
I
I
~------------------------------------+---------------+-----------------------------------~
263
r------------------T--------------------------------------------------------------------,
Function
I
I Routine/Subroutine I
~------------------+--------------------------------------------------------------------1
BSDRDV(NK)
Entry point to CRDV routine which warks it as processing a based
variable in an INTO or .FROM option.
CALLIB
Creates pseudo-code to call library routine; indicates call in dictionary if not previously noted.
CINTEG
CMPERR
CRDV (NK)
DEFER
I
I
DELETE
DYNMPL (NK)
I
I
I
ENDIO
EVTOPT
II
FILOPT
IGNOPT
II
INTFR~,1
KEYOPT
LAONLY (NK)
Outputs pseudo-code for LA into symbolic work register of a dictionary reference without any offset modifiers.
I
I
I
I
I
~
II
I,
LOCRDV (NK)
KYTOPT
LAOSMl (NK)
LAOSM2 (NK)
MVPSCD (NK)
MVTRPL (NK)
I
I
I
I
I
I
I
INLKOPT
presence of NOLOCK option.
L
__________________ L Indicates
____________________________________________________________________
J
264
.Table NJ1.
r------------------T--------------------------------------------------------------------,
I Routine/Subroutine I
Functlon
I
~.------------------+--------------------------------- -----------------------------------1
~USTAT
~XTMPD
i~
checked to see if I
I
I
PNTRDR
PRGEND
BASED vari-I
I
I
RCBCMN
REAC
REFRDV (NK)
Establishes the address of the RDV dictionary entry in the ARG register when given the data variable dictionary address in IND~l.
REWRIT
SCALAR
SCANOl
list
tSCNOPT
I
I
ISCRHOP
/SELL (NK)
STDROP (NK)
STRTNJ
SY~REG
pararr~eter
Initializes phase.
Establishes sYffiDolic work register.
(NK)
TMPREF (NK)
TMPSEL (NK)
TXTARG
TXT ERR
TXTEST
UNLOCK
WRITE
I
I
I
I
I
I
I
I
IWRKSPC (NK)
IEstablishes the requested workspace brea, starting on fullword
IL __________________ Iboundary.
__________________________________ __________________________________ JI
~
265
Table NM.
r-----------------------------------T---------------T-----------------------------------,
I
IMain Processingl
Routine
I
Subroutines Used
t-----------------------------------+---------------+- ----------------------------------~
I
I
IGET
I
I
I
I
I
I
t-----------------------------------+---------------+- ----------------------------------~
Table NMi.
r------------------T--------------------------------------------------------------------,
I Routine/Subroutine I
Function
t------------------+---------------------------------- ----------------------------------~
CALIB (NN)
CHAR (NN)
ENDLST (NN)
GENPC (NN)
Moves
GENTR (NN)
GET
GETOO
GET20
PAGE option.
GET85
INSERT (NN)
INSTFL (NN)
INTEG (NN)
MVTRSP (NN)
NMRi
OPEN
OPENOO
SRCERR (NN)
STORAD (NN)
(NN)
L UTTMPW
__________________
266
~seudo-code
to output.
10btains
temporary workspace.
__________________________________
__________________________________ J
Table NT.
r-----------------------------------T---------------T-----------------------------------,
I
I
IMain Processingl
I
Routine
I
I
I
Subroutines Used
~-----------------------------------+---------------+- ----------------------------------i
INone
I
I
I
~-----------------------------------+---------------+- ----------------------------------i
IScans text
INT0003
I
I
I
~.-----------------------------------+---------------+-----------------------------------~
INTOOll
I
INone
I
~.-----------------------------------+---------------+-----------------------------------~
IN~UT10
I
I
t-----------------------------------+---------------+ -----------------------------------~
INone
I
I
I
~-----------------------------------+---------------+- ----------------------------------i
INTUT10
I
I
INone
I
I
I
I
I
.-----------------------------------+---------------+- ----------------------------------~
Table NT1.
r-------------------T--------------------------------------------------------------------,
I Routine/Subroutine I
Function
~-.-----------------+--------------------------------- -----------------------------------i
NTOOOO
NTOOOl
NT0003
NT0011
NT001L~
NT0017
INT0021
INT0023
INT0024
INT1700
I
I NTUT10
I
INTUT20
Scans text.
I
I
IN~I"UDE
matrix.
L__________________ L ____________________________________________________________________ J
267
r-----------------------------------T---------------T------------------------------------,
I
I
IMain Processingj
I
Routine
I
Subroutines Used
I
I
~-----------------------------------t---------------t------------------------------------~
IINSERT,UT24,UTii,UT23
I
I
I
I
I
r-----------------------------------t---------------t- -----------------------------------~
IINSERT,UTii,UT25,UT14,UT23,UT09
I
I
I
I
~-----------------------------------t---------------t------------------------------------~
INU0024
IUT09,14
I
I
I
r-----------------------------------t---------------t- ----------------------------------~
IScan text
INU0002
ISC1(LA),SC2(LA),SC3(LA)
~-----------------------------------t---------------t------------------------------------~
r------------------T---------------------------------------------------------------------,
I Routine/Subroutine I
Function
I
~------------------t---------------------------------------------------------------------~
BCDCNV (NV)
IConvert decimal constant to binary.
INSERT
NUOOO2 (NV)
Scan text.
NUOO22
NUOO23
NUOO24 (NV)
NUOO29 (NV)
NUOO30 (NV)
NUOO33 (NV)
NUOO3? (NV)
NUOOSO (NV)
UT09
UT10
UTll
UT14
Generate code for intermediate result items in EDIT and LIST data
lists.
UT15
UT18 (NV)
UT23
UT24
IL__________________
UT25
I Set
bit in the INCLUDE matrix.
__________________________________
__________________________________.JI
~
268
Table OB.
r-O----------------------------------T---------------T-----------------------------------,
I
I
IMain Processingl
I
Routine
I
I
I
Subroutines Used
~-----------------------------------+---------------+-----------------------------------~
ISTl
I
I
I
I
ISCAN (LA)
I
I
I
I
I
I
I
I
I
~-----------------------------------+---------------+-----------------------------------~
IMTFR
IEUFIZE, FRSTOP, se3 (LA)
I
I
' I
I
I
I
I
I
I
I
I
I
I
I
I
.-----------------------------------+---------------+- ----------------------------------~
IADVR
ISC3 (LA)
I '
I
I
I
I
I '
I
I
I
I
I
.-----------------------------------+---------------+- ----------------------------------~
ISDVR
I
jload the waximum length from a
I
Istring dope vector into a register I
ISC3 (LA)
I
I
I
I
I
I
I
~-----------------------------------+---------------+- ----------------------------------i
IST4
I
I
I
I
I
I
I
I
I
.-----------------------------------+---------------+- ---------------------------------~~
I
I
I
I
~-----------------------------------+---------------+-----------------------------------~
IDROPRG
I
I
INone
I
I
I
I
I
.-,----------------------------------+---------------+ -----------------------------------~
ISETDVF
I
I
I
I
I
I
INone
,
I
.-----------------------------------+---------------+-----------------------------------i
ICalculates the offset of the dope
Ivector of a structure base element
I from the start of the structure
Idope vector
ISETDVF
INone
I
I
I '
I
I
I
I
,
I
~-----------------------------------+---------------+------------------------~----------~
269
Table OBi.
r------------------T--------------------------------------------------------------------,
IRoutine/Subroutinel
Function
I
~------------------+--------------------------------------------------------------------~
ADVR
Replaces ADV compiler functions by pseudo-code instructions to load
the specified element of a dope vector into a register.
AT7
Generates pseudo-code.
AT8
BUFIZE
BY5
BY19
DROPRG
FRSTOP
MTFR
Generates code to drop a symbolic register or IT.ark a literal reglister not wanted.
IReplaces the target field of MTF fUnction or compiler pseudoIvariable by controlled workspace where necessary.
SDVR
SETDVF
STACK/USTACK
STl
Scans text for BUY and BUY ASSIGN statements, compiler functions,
and corrpiler pseudo-variables.
ST4, ST6
ST7,ST8,ST10
Remove BUY, BUY ASSIGN, and SELL statements for fixed scalars froIT
I
Ithe text, and allocate space for the temporary variables in the
I
workspace.
L __________________ Ipseudo-code
__________________________________
__________________________________ JI
~
270
r-----------------------------------T---------------T-----------------------------------,
IMain Processingl
I
~outine
I
Subroutines Used
~-----------------------------------+---------------+-----------------------------------~
ISCRCOR
INone
~-----------------------------------+---------------+- ----------------------------------i
block
lIto
___________________________________
eTable OD1.
r------------------T--------------------------------------------------------------------,
I Routine/Subroutine I
Function
~------------------+---------------------------------- ----------------------------------i
18CRCOR
I
routines, tables and constants
into scratch core.
I
lI MOVTAB
__________________ IMoves
__________________________________
__________________________________
J
~
271
Table OE.
r-----------------------------------T---------------T-----------------------------------'1
I
I
\Main Processingl
I
Routine
I
Subroutines Used
~-----------------------------------+---------------+- ----------------------------------i
IASSOO
I
I
I
~-----------------------------------+---------------+- ----------------------------------i
.Table OE1.
r------------------T---------------------------------------------------------------------1
I Routine/Subroutine I
Function
~------------------+---------------------------------- ----------------------------------1
ALLOC (OF)
ASCOO
ASCDOO
ASDROP
I
I
I
I
I
I
I
ASFBOO
ASFDOO (OF)
ASFLOO
ASLOO
ASPOOO
ASAROO
ASSOO
ASS032
ASTROO (OF)
BUY (OF)
CALIB (OF)
FREE (OF)
GENCNV
GENRXO
Generates RX instruction.
GENSSO
Generates SS instruction.
GETDES
RMNDX
SELL (OF)
jSPASS (OF)
ENABLE
SBGTNR
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
l __________________ L ____________________________________________________________________ J
272
Table OG.
r-----------------------------------T---------------T-----------------------------------,
I
I
IMain Processingl
I
Routine
I
Subroutines Used
I
I
r------------------------------------+---------------+ -----------------------------------~
ITRSCA~
IEOBIN,TSCSNO,TSCCLB,TSCPRC,FMT001, I
ITSCEOP,TSCEP2,JSCJMP,MOVITM,MOVODT I
r-------------------~---------------+---------------+- ----------------------------------i
IPCSCAN
I
ICNVFND,MOVITM,MOVOUT
I
I
~-----------------------------------+---------------+- ----------------------------------i
IIEMOH
IMJG201,IEMOI,CODCAL
I
I
I
I
I
I
r-----------------------------------+---------------+-----------------------------------i
IGenerates Library calling sequence IMJG201
IMJG203,MJG204,MJG298
~-----------------------------------+---------------+-----------------------------------~
-
l ___________________________________
273
Table OGi.
r------------------T--------------------------------------------------------------------,
I Routine/Subroutine I
Function
I
~------------------+--------------------------------------------------------------------~
IEOBIN
Entered when an end of in~ut block marker is detected.
I
I
I TSCSNO
I
I TSCCLB
I
I
Processes PROC, PROC1, bEGIN, and BEGIN1 triples, and sets up counts I
I TSCPRC
I
FMTOOi
TSCEOP
TSCEP2
TSCJMP
MOVITM
MOVOUT
CNVFND
When a CONVERT is found passes control to IEMOH and outputs pseudocode generated on return.
MJG20i (OH)
CODCAL (OH)
MJG203 (OH)
MJG204 (OH)
MJG298 <OH)
BITODI (01)
FDTOFB (01)
I
I
Generates in-line code for decimal ~o float conversion.
I
I
Generates in-line code for fixed binary to float conversion.
I
I
Generates in-line code for picture - to
character string conversion. JI
__________________________________
_________________________________
Generates in-line code for decimal to binary conversion.
DECFLT (01)
FIBFLT (01)
(01)
L PICHAR
__________________
274
r-----------------------------------T---------------T-----------------------------------,
IMain Processingl
I
I
statement or Operation Type
I
Routine
I
Subroutines Used
I
~------------------------------------+---------------+-----------------------------------~
Iscans text for CNVC macros
ITEXTSC
INon~
I
~-.----------------------------------+---------------+ -----------------------------------1
r------------------T--------------------------------------------------------------------,
I Routine/Subroutine I
Function
I
~-.-----------------+--------------------------------------------------------------------~
CNVCDE
EDIT
E~K
I
I
I
I
I
PACK (ON)
PTNGEN
TEXTSC
IUNPACK <ON)
I
IL __________________
I
I
I
I
I
Generates the editing constant or mask used by the ED or E~MK inI
line instructions.
I
I
Scans text for CNVC roacros.
I
I
Generates conversion code, based on the UNPK instruction, for FIXED I
DEC to PICTURE containing only 9's and v, and with only external
I
sign or edit characters.
________________________________________________
___________________ JI
Generates conversion code, based on the PACK instruction, for
PICTURE to FIXED DEC conversion when the picture contains only 9'8
and Vv and has only external sign or edit characters.
275
r-----------------------------------T---------------T-----------------------------------,
I
IMain Processingl
I
Statement or Operation Type
I
Routine
I
Subroutines Used
I
I
~-----------------------------------+---------------+-----------------------------------~
IInitialize and perform test scan toITEX~SC
ICNVCDE
I
Isearch for convert macros
I
I
I
~-----------------------------------+---------------+-----------------------------------~
IExamine convert macro and select
ICNVCDE
IBNTOBT,B~TCBN,FLTOBN
I
Iroutine
to generate in-line code
I _______________ I _ __________________________________ JI
L
___________________________________
~
r------------------T--------------------------------------------------------------------,
I Routine/Subroutine I
Function
I
~------------------+--------------------------------------------------------------------~
IBNTOBT
IGenerate in-line code far conversion from fixed binary to bit stringl
IBTTOBN
I
IFLTOBN
I __________________
L
276
IGenerate in-line code for conversion froIT. bit string to fixed binaryl
I
I
IGenerate in-line code for conversion from float binary to fixed
I
I __________________________________
binary
__________________________________ JI
os.
Table
Phase
as
Constant Conversions
r-----------------------------------T---------------T-----------------------------------,
I
IMain Processing I
I
Statement or
O~eraticn
Type
Routine
Subroutines Used
~-----------------------------------+---------------+-----------------------------------~
ISCANl
I
I
I-
~-----------------------------------+---------------+-----------------------------------~
ISCAN2
I
~-----------------------------------+---------------+-----------------------------------~
~------------------------.-----------+---------------+-----------------------------------~
ISCAN4
I
I
ICONVRT, STPTST
I
I
I
1
~-----------------------------------+---------------+-----------------------------------~
I
I
I
lI ___________________________________
Table OSlo
ICONVRT
I
r------------------T--------------------------------------------------------------------,
1Routine/Subroutine I
Function
I
~------------------+--------------------------------------------------------------------~
ARARD
Handles the linking of routines required for any arithrretic to
arithroetic conversions (corresponding Library module IHEDMA).
ARBTD
ARCHD
CHARD
CONVRT
ERROUT
IACONV
IADENT
IASTRN
IHEVFA (aT)
IHEVFB (OT)
IHEVFC (OT)
IHEVFD (OT)
IIHEVFE (OT)
l1 __________________
IMakes dictionary entry in the constant pool, generating a new conIstant fool block if necessary.
1
IConverts fixed point binary integer with scale factor to long preciIsion floating-point intermediate.
277
Table OSl.
r------------------T--------------------------------------------------------------------,
I Routine/Subroutine I
Function
I
~------------------+--------------------------------------------------------------------~
IHEVKF <OU)
converts packed decimal intermediate to decimal fixed or floa.tingpoint numeric field with specified precision.
IHEVKG <OU)
IHEVPA COT)
IHEVPB (OU)
IHEVPC (OU)
IHEVPD (OT)
IHEVPE (OT)
IHEVPF (OT)
IHEVPG (OT)
IHEVPH (OT)
LDCONP
POOLSC
SCAN1
SCAN2
SCAN3
SCAN4
SCN010
Controls the calling of the conversion routine CONVRT and pool scan
routine POOLSC and, if required, IADENT.
Also handles the case of a
constant given in internal form.
STPTST
UPAA (UPAB)
(aT)
UPBA (UPBB)
(aT)
(IHEUPB).
VSAA (O'I)
VSCA (aT)
VSDA (aT)
VSEA (aT)
IZEROPT
L __________________
278
Chart 08.
...........
Ph~se
Flowchart
' 8
AZ
-.-.-.-.-.-.-.
)c
.AZ .......
.STATIC OSA
... ...
PA
... OETERMINF~
"'ELIGIBILITV FOR.
STATIC OSA'S
...................................
X
"'STATIC 1
PD
... SCAN S TEXT
...................
...
...... C2
... ...
STA
TIC ....
2 ... ... PH
"'ALLOCATfS STOR-*
.AGE FOR STATIC.
"'A RRAY S & S TRUCT
.........................
SV"I TABLF
PL
AllOCATES SYH
TABLE S AND DEllS
... FOR VARIABLES
............................
. EZ.. ....-.
.-.-.-.-.-.-........................
.AUTO SORT
pp
SORTS
AUTOMATIC
VAR (ABLES
...-.-.-.-.-.....- . .
...................
~
.F~
AUTO STQR(
...
PT
AllOCATES
AUTOMATIC
STORAGE
.-.-.-.-.-.- .. .
. . . . HZ>D-.Q,'"-
.OYN. STORE
... ..
... SCANS TF.XT
"'FOR ALLOCATE I:
"'BUV STA TE"IENTS ...
..............................
..x
J2
......
....
LIST
VFS
..... Ar,GREGATF
LENGTHS ".
......
(I.
*.
.....
.
NO
ic
r9
AI
...
..
AGGREGATF
~'"
*.** *
.....
...
ic
.1'9
Al*
279
<~hart
PA.
Phase PA
~verall
Ciag~~m
Logic
PA
B3
PAOSA
X
B 3
PICKUP HEAD
OF ENTRY TYPE 1.
CHAIN
.................
x.x
C3
.*.
.. ..
END
OF CHAIN
C4
YES
NO
. *.
C5
;H~nLBE NO
: SET OFF FlAG :
ANY ~TATrc
X.
IN THI:'
1(
.....S....
.....
::21:
YES
...... .........
. .
~
.x
I(
.....02..........
:
:
PICK U P :
yes ,;
....
NHTHE=
N~~
.................
NE~~p~NIRY
03- X*. *.
*..*
NO
...
K
('3
I S .
NO BLOCK ~O
: x ~A:
~L~h'~~.
OSA
* *
YES
G3
..................
OSASI7.E
CALC STORAGE
FOR V AR I ABl ES
:STRUH~~~~ ANI) :
..*H3
ADD
g~~pt~~PoI2
SI ZI'
x.
.....J2..........
J3- X*. *.
SET.
ELIGIBILITY.
YES..
IS SIZE
BIT OFF
.X )512 BYTES
IN ENTRY.
TYPE 1 .
* *
NO
KZ..........
OICENT
it
K3
CHAIN ENTRY :
:os~A~iCHA~l~Y :
FROM ENTRY
.X.........
ENTRY FOR
TYPE 1 .
STATIC CHAIN
.................. ..................
:....
280
Cha::-t P;) .
.....
Diagr~m
..
po
PO
AI
.... . A l . . . .
SCAN TEXT
AND
REVERSE
SECOND FILE
POINTERS
*
X
Al
SCS OIlT
SCAN STATIC
CHAIN
AND
SORT ENTIIIES
(I N PAl
.................
X G
STATIC
Cl..
C2.'
." ~~~~~t ..
.................
YES
ALLOCATE
. J~H~~r~ . ' .. x:
.. ..
NO
.X 41
X
OVALOC
R~PH~:a~
*..*
01
02
.... I S A -. _. VF.S
:
fitE~~J.~E
:
-. DOPE VEC TOR X.
AND
,,~;QUIRE~...
:
A\~g~~~~
.. ..
................:.
NO
)C e
El..
TVALOC
it.
e e _ a o
EZ..........
STATIC YES
.. ~~H:~~~ ............. K:
.. ..
~L~~~e~~:
....9............
"10
AOO~fM ING
0 0
.. F3.t. ......... .
:I')E6~R~h~h~PF
1(:
:
:
. ................
~~~UO~TA7~
DICT ENTRV
CONAlC
~
'*Fl
.SCAN CONST ANT~
CHAIN AND
.................
:.CONSTANTS
O~Hp~~T fN :
POOL -
.X '
K
Gl
BU'IP
lOCATION.
COUNTER flY
SI Z F. 0 F POOL
.................
...x
'"
HI
ARF.
POOLS
'"
*.
* *
.....
)c
.....
PH
AI
281
Chart PH.
PH.
A1
.x
P8SCAN
A\..........
AUTENO
S;A~~ g~:
A2
P8s1
.. ..
*..*
YES
:...81
snn ~~ :
ic
CON TROll ED
...
*..*
*
*
NO
x:
YES
G TO
?~XcHIUH
84
*.
*.
RF8~IR:
eE~Tb~
*...
* *
NO
85...
IPA NO :
x STRUCTUR'E
*..*
*
*
YES
YES
ic
A2
*C2
END OF
NO
~ONl~~\~EO
*..*
i~
*.
83
ll~~YE YES
I( x
C1
CHAIN
GO TO NEI(T
ITEM l"l
THE CHAIN
.;
CONSCN
0000.00 0
A3
.................
ENO OF NO
:
x AUTOHATIC ".
CHAIN
.................
PROCEDURE
8EGIN CHAIN
Diagr~D
A2
*.**
04
X
:Y~~i~~~N~eF IN:
......
S'fATIC CHAIN ". A2
:
A~~~:T~
:
.El
CONTINUE
SCAN OF
STATIC
CHA IN
EZ
.
K
A~\g~:~~
x
K
"
Fl....
SKARGl F2..
SKA~:1 F3.'
AlJ,;,1~CATt
END
NO
iK~~JlTO~ YES
AHVO NT
CSCN2
r.:
.. ..
.. ..
*..*
III
YES
NO
ARRSCN
.................
:
G2
G3..........
YES
:
A~h~l~l~:
ARRAY
x.
lAlCUlATE
NUM8ER O F .
: ~k~=~:U :
G 4 . . . . . . . . . . .
: Ol~Gy~RTYA~YE:
:
X.
AllOCAfE
DEGENERATE
"
: ~2:~.~I2: :
NO
;
:
:
STRAlO
H2
.IC.
ic
Pl
.A1
282
*H3..........
H 4 . . . . . . . . . . :
NO
YES
: STA~~8~ATSORK :
:
D~~~~~Uh :
:
STRUCTURE x.
NYHtER OF X.OOPE YEfTDR FOR . . . . .
.'.
:~h:~N NNA~II:
:
-YbRlbRI~VAl :
' '
01;9
b,.
I......
.........
Chart PL.
Diagc~m
"'PL '"
'" AI'"
SCS~:~**AI*~"'*"'''''''**'''
DE2!Hh~~2~~~",****
*
*
'" SCAN CHAIN
'"
S~Rn~n~
:
'"
*
*****************
SYMIU**A3********"''''
*
*
*
'"
*
ALLOCATF
*
:X : ~6~BShH~~~ :
*
*
*
*
***"'*************
*"'*************"'*
:x.. :x .. :*
*'"
*
****
A1
****
.*.
ALLOCATE OED
FOR VARIABLE
*'"
YES
YES
.*.
.*.
*..*
*.TABLE.*
B1
*. *.
62
*.
63
*
.* DOES *.
.* DOES "'.
.* *END
OF
*. NO
*..*
NO
.* VARIABLE *. NO
***** *
*.
CH~.IN
.* ... x*..* VARIABLE
REQUIRE
o ox*.
REQUIRE
.* 00)(* Al *
*.
.*
*.
oeD
.*
*. SYMBOL.*
'"
*
*..*
* *
* *
YES
: x OEOAl.t: x'"
CCSCAN
x
*****Cl **********
'**" OFSCAN
''""
CHAIN
CONTROLLED *
*
VAPIABLES
*
*
*
*****************
SYMTAB
*****C2**********
*****c 3**********
**
** ALLOCATE OED "
* '..
*
ALLOCATE
* FOR VARIABLE *X * SYMBOL TABLE *
*
*
* FOR VARIABLE *
*
*
*
*
*****************
*****************
x
x
.*.x
*.
CH.6IN
*..*
.*
02
"'.
II
03
OED
.*
*..*
*0
VES
X 0
000
CNSCAN
.*. YES
*.
* *
o. e
00 0<1 0" 0 0
DEDA Ll
*"***E3**********
..'" ALLC'CATE OED **
* FOR CONST ANT *
*
******************
**
*.
. *. NO
F2
*
* DOES *
'" CONSTANT "'. YES
FI
*. *.
END OF
*. NO
CH.6.I"J
*.
* *
.*
.*
*
*
"'****************
X
.*.
*.
.*. *YES
*. SYMEIOL .*
*.TABLE.*
*****El **********
** SCAN CHAIN
**
* OF COIIJSTANTS *
.*~A~n~Le**. NO
.*~A~~~~LE**. NO
.* ....... X*.
REQUIRE
.* ... 001<*. REQUIRE .*
* *
OEDAL~.
01
*.
**eND OF *.*. NO
*.
****
* *
.* . X*.
'" YES
*.
REQUIRE
OED
*..*
*. 0*
0*
.* .
OOOClO
B:SCAN
X
*****Gl **********
* SCAN CHAIN
*
* OF PPOCEOURE *
*
AND BEGIN
*
*
BLOCKS
*
*
*
*****************
.t
R~g~U'
X
SYMTAB
X
*****H3**********
*****H4****"'*****
**
'"* ALLOCATE OED **
**
ALLOCATE
FOR VARIABLE :X : ~6~BSaRIUH :
ACSCAN.
HI
*.
*****H2**********
*'" SCAN CHAIN"*
.* * END OF *. *. NO
""*. CH~.IN .*.* X: OF v~~I~~eHC
*0
* *
* YES
*"'***
*PP *
* Al*
:X .. :X :
*
************"'****.
"''''**
** H2 **
**"'****"'*********
***********"'*"'*****
****'" *
.. *
*
[ir~ctories
283
'2hart PP .
.....
....1.1
pp
. ....1.1
1 ..
1.1
.
. ....
X
RI.O
SCAN ENTRY.
X. TYPE
CHI. IN .X
...x
IS.
THERE
NO
AN ENTRY
*
TYPE 1
x
.PT
YES
A1.
*.
81
.....
....
X
C1
I S . .
THERE
YES
A~H~Y~O
.....
*..*
C2
.x
SETCHN
X
SC24
C2..........
C3
C4
SCAN.
ON YES
h~~EIiAI~
X:
AUTO CHAIN
: )( CONoITION
.~
x
.K....01.
MAKE AN
AUTO CHAIN
DELIMITER
.*
E1
:SORC;~
E2
*..*
.. ..
.*
..
NO
...ic
E3
*.
* *
NO..
F3
*.
ADD TO
ANY
INoFPENoENT
.x oEPENDENC IES
CHAI"!
RA7
G1
..ic
*..
E2
.. ..
YES
H1
J.
SCRU81
H2..........
)!:
NO
ic
Jl
ERROR
..................
x
Al
284
DU~~~E~~?~S
-.
J.
~~~~~N,
SRCH2
F4..........
o~~~Nbl~lln
<;C44
~5
:
:
IN CURRENT
x.
DEPENDENT.
:.....~~~l= :
ADO TO
OEP"NOFNT
CHAI N
...ic
G3
GIt
*.
x:
H3..........
)!:
INDE~~~~NT
A5~al~HAIN
o~O~~l~~
INDE~~2DENT
:
:
: ~~~l~ :
:
:
:
NO END
*. YES
:
OF CHA IN
H4
:
:
:
X:
MAK~
OEf~~t~ER
:
:
x
.
......
.
*
El
:.................:
NO
.................
1.A~;~YJjENT
PhA~~ IN
IN~HA~~ENT
.. ..
YES
G2
I~~~f YES
:
.t2B~DCH2
?
.................
I~EM
x.
III
*.
*
...
E~~IN :.X :DEPE~g~NfoCHAIN:
.*
...
*..111
...
. ~?:.*. OF
x
F2
x:
NO
ic
NON
YES
~OJvn:8lE
F1..........
YES
*..*
E2
SCAN
DEPENDENT
CHAIN
SC31 04
*.
TEMP
ic
El..
: NO THaE A YES
:
DEPENOE NT K.
CHAI"!
03
.....
.. .t
x:
.
...*
:RA4
..................:.'.x
.. ..
.................
C2
Diag~3~
Chart PT .
PT
AI
............ x
CONTl
K
. . . . . Al
SCAN CONTR~~LED.
CHA IN FOR
:
gSp~Ae2~ DR :
OSA19
.. ..
A3
....
tlE.
.................
PROC
NO
X. E3
YES
xxx o o :
: :oSA26
83''..
.:.
.. ..
81t.~
*.
p:R~~~hR :.~:~ X:
*. * . . * .*
3.~ "
................
"'*
NO
.. DSA~~.
a~~O~A~1i
:CIR~~a~ l~AIN
DSA4
01
It
elta
Di ...........
.
. ' 'tES
:ALL~ColEA2D8YTE:
N
CON IliON , x. CO"'~JLE CODE
EN RES
TO INITIALIZE.
?
NO
03
.* 11
NO..
.-.x
-...
.........
OSA1'4
>0.04
St8R~NPO~n~R :
X'"
STAT~MENT .X
'"
CREArEO
THIs*.
...
...
YES
................
E3 x.
X
e I
oSA25
X
E3
OSA10
:
AbaR5~T~oR
ADORESSI NG
VECTOR
..x
Fl..
.. ..
YES
:
PROC'
X.
NO
2Aba~~ATPOR
.................
*
ADORE S'ING
SLoh
:x. () ...................... ~
*GI.
AllOCATe
P~5~~~Pie~E :
oSA17
H2
ALLOCAT~
~~~A~h&yr :
:o~~PV~g~OR:.~~ X:
'.
WORK SPAce
YES
:oSA161
Jl
STORAGE
AHg~:J~
:
R EQUIREO
.
..................
:oSA162
K
Kl
COMPILE CODE
1'0 INITIALIZE.
oOPf VECTOR
.................
'"
'..."
................
x
.*
G4
*0
.. ..o
..........
OSAENO
GS
END OF
YES
El CHAIN
X.
*.
NO
C1
GET VOA
WRR~S8'~~o
:OSA91t:'
...... F4
...
STORE OSA
'"
S I7.E I~
4, ENTRY TYPE I
oSA46
X
H3
..................
HI..
.. ..
S~~!;~~A~fiRo
.. ..
X:
NO
ALLOCATE
CHAR STRING
STORAGE
... )ex
*.
OSA38
:oSA16
OSA~~! E5.l
YES
EGlON
*.
.*G3.
oSA121
E4..
oSA29
X
.F3
*.
.AO~USTA8LE
F2
*..*
ALLOCATE
OO~~bKA~~Ro
: OSAl'2
ALLOCATE
BIT STRING
STORAGE
RELEASE
TEI(T ~LOr.KS
AND CONTROL
..................
x
.........
*QF
AI
.
.
OSA,)4
J3
ALLOCATE
STORAGE FOR
ARRAYS
.
.....................
OSA68
X
K3
...
...
...
ALLOCATE
STORAGE FOR
S TRUCTUR ES
....... H
...'"
285
Chart QF.
Phase
x.
103
*OF101
. ....
..
~
101
:OFOOOO
OAD~:. A3.!........
101
SCAN TEXT .X
B1
...x
AU
MioTIC
AI N .
K......
.:.!!~
NO
.....
.....X
A',:..
....
*.
OJ
101.
VI'S
NO
K.:PlA~~DO~~l~IT"R:
~TATF~eNT
..
*. *.
IN TE XT
8"
*
VES..
..
OElIMITER
OF1172
*.
....
:. E?Bx9"
!~AN:
FIRST
lONE
B5
OF" 860
*.
.*
NO
ENO
OF CHAIN
III.
.-
*
*
NO
A3
*.
* *
.
._
VI'S
C4*
X
:EX~Q~~~sl~~A~T
FOR I EM
FROM NO
.. C5
~~IP 2ND
:
Tol~
STATdM~NT
lffT :
.......
: !~.n2~~ :
: ..... :I~~ :
X. J3
OF1215 0"..
0"11:: 5
RXTRACT
NO..
DOES
VES
~APPING
: 103 :X X IlfaR~~~O X:
~RgEF~~~M
:
...............:
t"...
QPPROL
OF(l360
E2......
E3
VI'S
:
E2':ER~T NT :
VES
:
G ~SRAfE
:
PROC
X.
FI
K. E XJK
X.
A C
:
E H ~to L :
0
:
RRSS N
:
~....
11
El
~~l
R~Al
.~
NO Il~M
.x......
FJ~ST
IN ZONE
.111
*.
e*
* *
YES
x.
.. ....
....
X
....
GENERAT~
T~l(g~~G~~A
: X: A3 :
:
:
OON~~~.*G2
:.!!~ .....
F".:........
G~g~=~~E
F~R ~~tU8SA
:
:
NO
G1..
QFOU~
oep~a~ F2
VES
:
BEGIN X:
ON
E5.
.~
Fl..
~~.:.
Ig ~ i T~
..
QF1~U F5.~........
: :E~O~1i XVAR :
......:
A"f~N~'~~ :
MA~P
NG CME
.. X:....101 :
X:
~R!tF~~1
TO ~~roh
:.
X.
...........................
OF!!m H5.!
GSNERATE
ODE TO
C PV ARG
A1!! TAR~p
.. .
: ~~h.i:
X
.. "
OF"625
QMOVfl
Jl
J"
. . ' ill
VE S
H :RE A VE S
:2~=~OiT ~R8N~~~ :
PROC
X.. ~N~R~ p~l X. 3T RNFt ~Nn
J3
....
NO
..X. A3
.*.
* *
"10
:~A= ~ ~~ f~9R~S:
K X
286
Chart
Phase
QJ
QJ
A1
......Al.
o.
.."'.............. ..
X.
A2
A2
.-.x
*.
ADJUST
'II'S
ARRAY OR
STRUCT
.x
SCAN TE XT
.*
K..
*..*
*. NO
.......
..."'.81..........
.;.
A1
Cl
. END
*. :.
*...
*
OF
TeXT
*.
E~~r~TS
flNDEXP
X
.. 84
:
YES ANy NO
:
~n~~f T
:
.X..........
STARS
X..
2ND FILE
STATEMENTS
FROM OLD
DOPE VECTOR
.*
.................
.QU
A3
**.
.**
* .*
.. ..
SET SIZE
YES
AND GENERATE
X.
CALLING
SEQUENCE
..
*.
* *
~'.~XM .~ ....... .
F2
.... .............
EXTRACT
HAPPIIIIG
CODE
og~~E~~HoR
.... .................
.
.*
YES
BYI
G2.
"DJUSTABLE NO
ARRAY OR
... STRUCT
*.
OF.TERMINE
CALLING
SEQUENCE
LIB~l." ES.:
DETERMINE
CALLING
RELOCATION
CODE
x
K
A1
.. ..
F 11
*.
.* INITIAL *.
*.
VALUE
*.
.*
.*
F4
...x
*.
.
.... "'"'........
..
.
G3
it
EXTRACT 11'40
FILE
STATFMENT
1)
. : . Sa~G
LENGTH
NO
*
*
YES
.................
vES
F3 X.
1'5
.. x
~U~AA~~n
E4..
Ai
0*
.................
1110
Gl
YES
X
F2
8Y15
Fl..
.
A2 :
* *
YES
.........
..
.:.~~ . l(:..
*..*
'"
*..*
**.
.**
F2
STRIIIIG
.
04
NON
t ....... X.:. .
~~:l~K
~~~l~~
? .:.~? ..... X.:..?
.....
....
YES
BUY
Ll8i.l E3.!
*.
'op.
BUY
03
NO
*.
.4
..................
C4.
EXTRACT
HAPPING
C mE FROM
'(. E5
1ND FILE
X.
8UYS
*...
.. ..
...........
*.
84
83
ALLOC
01
02..........
YfS
:
i8A~E'A~~~B
AllOCATE
.
2ND ~ILE
POI 1'4 TF R S .
NO
..
YES
NO
...x
41
YES.
X. G4
X. B4
*. .*
E1
*.
ALL
STAR
NO
...0..............
'
...
A3
.. X. E5
..x
Diagr~m
......
...
QJ
GS 1
Qverall Logic
*. 0*
..
.:.~?
.....X"'. "'.
.....
E~
... :
.
X. F3
PREVAL
X
.G4
COpy
OLD
DOPE VECTOR
FS.
DOPE
GENERfTE
Y CTOR
RElg5~ ION
:
.......
YES
*.
G4 X.
SEQUENCE
G5.
:
: )(:
FXTRACT
FOR
~~ZT~l~~T
:....~~~2~~ :
............. ..
....x
.
F1
287
Diagr~n
QU
A3
A3.i
TI~p~3\~nRS :
Eft
TRANS
~3
C2
ET
0 OSII
..............
C2
NO
rc
TLA
Cl.......
:
SN~~I ~~XT
:
B3 x. IPRM AND EPRM
NESTS
IT ~hHI~..
.. ..
*..*
YES
k
*...
...
YES
x sE~k~~G X
C3
IN TRN
F2
NO
l(
.t
LARGQ
03
02
:
NoSISAN
AR UMENT
RE ISTER
*.
.*
....:X.x"':................
*.
"'."''''
C2 !II
'"
'"
'"
.'" pK~RAM"'.
""..
TEOP
"'.
OF
"'. YES
.....
",' '"
)(.
'"
'" "'
)( x
'" "''''.
NO
..
: P8GT~GTn~K
MVC'S STORED
'"
lC
83 '"
Q)(
"'
....."'..........
"'.
....
.. ..
'"
....
* *
* *
YES
NO
..AOOR
AOEOQ
"'.
J2
I S NO
"'. NO
AL6~~~ENT )("'."'. OEOSW
MTSQ
MTMVC
J4
~5
NO
Opl~ANO YES
:
"o~I~Yl.D
:
ARGSW "' K A ~~~r5T lC: f~~lNfw~AON :
8'1' MVC
J3
x.... .0..
....
*.
YES
...**............
*.
YES
NO
X
...K2"'
....
......
:... :
tl3
"'PUTK3.
...
MVC
INSTRUC TlON FOR .....
MSTACK
REGENT
:opl~~~SNh r~s:.~~~I.~~~~~~~~.:
288
&2
ri:~:;i;:~:;: :~:E::;i~;:fi;
WAL~G~~~-
X:
83
"' "'.
-)(
Jl
SE EX
.F5."'
.
x.
AOFSIQ
TLM
H 0 TP T
*..* -
YES
OR ~~SW oE6 QHI VARfArE:
.. ..
"'...
xx ........................... :
H~::::
*
*
YES
..
"'~~~i~U"'~~~~~~~'"
* *
IS "'.
*..*
*
*
YES
83
."'.'"
.."'R~~l.Fl"'"'' '
F N
."'.
ALIGNQ
'" 83 '"
'"
IT
G2
NO A ACKEO
YES.. tP RAND NO
"'. (NONSTRINGI leo "'.A 0 C 10NARY
..VARIA8LE
..R F RENCE..
.x "'.
E5
"'."''''
.'"
"'.
: F2 :)( .. ~?"':\ l~~ l~TRY:.
*.
.*
"'."''''
- *
'" NO
'" G2
X.
K
05
.i. NO
'" YES
F3
"'
.GlS
'"
.*
* *
yes
'" NO
."'."'......."'...........
. "''."
ALGREF
98:.
..x
:.:;~Fi(~~~:~;"':
ACCORD
REQUfRfD
'"'" F2 '"
"' X'"
N TO
'" INSTRUC ION
TLLl8Q
i. ....
E'l
QUIRING.'"
A rGNMENT. '"
.............
"''''''''''
04
*
*
NO
LARGY
X
E2
SET
AltGSIl
TTS
L
yes
ITlfoAR NO
~T JiTHJ=
INSTRN
X FROM ADDReSS X.. A CA~Ll~G
~=C
~~ au N
*
*
YES
: G2
TLL
"S
1(4:
X
OUTPUT
. .
IT INTO STACK.
"'..............
....'"
83
83
M~~ ~Hh~~n8
INSTRUCTION
K: 83 :
Jverall
~X
.....
~ogic
Diagr~D
QX
A2
SCANC
X
A2
: Aa~~~AH~T1~o :
cg~n~~L~2
DICTIONARy
e.o
ic
.B2.
: s~H I~EtaA ~~ :
..
...85.....
~
x:PR8E~D~~~OCa:JN:
l.
Cl..........
C2
.*
.. ..
*.
.*
.;..YES
C3
.. ..
END
yES
W~S IT
:
IN CHA N
:." X OF CHAIN X scAl ~
.................
*
*..*
NO
*.
.*
NO
..x
*...
*
yES
E'2
NO E~Tn
~6R 1
: x " No~~iT~LNu~~D'.
.ARRAY.
* *
NO
.AUTOHAT IC C HA IN.
~l~P~~VRY Gr~
.
x
.................
.PROCEDURE CHAI N.
Cl
: E4
Gz.
I~R !~~R~~I~~
C2
)(
:l ... )(.:
E4
E5
GET HEAD OF
AtJTOHATIC
x:
.. ..
................:.
P~~gEg~RE :.~~
CHAIN
*..*
YES
.*
F4
..x .0
*.
0 .
YE S
.. .
RA
Al
~~~t~o~~r
x:
..*
F5
*.
IS
NO
..~~B(JL(J~WITC~ 0
PRALEN
...x
YES
ANAGG
X
F2... ...
ANALySE DICT:
ENTRy FOR AN
AGGREGATE
*04:
:
1S IT
IS
YES
ENTRy FOR NO
~~BOLo~WI TC~ )(.A.~~~~bc~e~~~;'.'.':
**.. .*
*.
*...
..*
03
E4
.:..YES
C4
NO
WAS IT
)( ~oN~~2~~eD
*..*
*.
02
C2 X.
Tg~~oeN
SWITCH
.......
Cl
...84.......
GH HEAD OF
C(JN~~2~~FO
.......
x
......
C2
.LENGTH TABLE
289
S~ATIC
Storage
r-----------------------------------T---------------T-----------------------------------,
IMain Processingl
I
I
Statement or Operation Type
I
Routine
I
Subroutines Used
I
~-----------------------------------t---------------t-----------------------------------~
IScans Entry Type 1 chain for blockslPADSA
IDSASIZ,DVSIZE
I
leligible for STATIC DSAs
I
\
\
r-----------------------------------t---------------t- ----------------------------------~
IDICEN~
INone
I
I
r-----------------------------------t---------------t- ----------------------------------~
INone
~-----------------------------------t---------------t-----------------------------------~
IARRSCN
INone
I
I
I
I
I
I
I
I
I
I
I
I
I
I _______________ I _ __________________________________ JI
r------------------T--------------------------------------------------------------------,
I Routine/Subroutine I
Function
r------------------t---------------------------------- ----------------------------------~
ARRSCN
Scans STATIC chain for INTERNAL arrays; allocates storage for arraysl
and secondary dope vectors (callEd from FH).
DICENT
DSASIZ
DVSIZE
PADSA
ISCSORT
L
__________________
290
ISorts
S~ATIC chain (called from PD).
__________________________________
__________________________________ J
eTable PD.
r------------------------------------T---------------T-----------------------------------,
I
I
IMain Processingl
Routine
I
I
I
Subroutines Used
~------------------------------------+---------------+-----------------------------------~
I SDSAl
I
I
I
~------------------------------------+---------------+ -----------------------------------i
IAllocates
storage for constants.
L
___________________________________
eTable PD1.
ICONALC
_______________ LINone
_ __________________________________ JI
r-------------------T--------------------------------------------------------------------,
I Routine/Subroutine I
Functlon
~------------------+---------------------------------- ----------------------------------i
CONALC
DVALOC
NXBLCK
PD
SDSAl
SCSORT
STATIC
STRCDV
I'I'VALOC
I
I Allocates 4-byte addressing slots; calculates control section size
I
I
IL __________________ Ifor
all external items.
__________________________________
__________________________________ JI
~
291
eTable PH.
r-----------------------------------T---------------T-----------------------------------,
I
IMain Processingl
I
I
Statement or Operation Type
I
Routine
I
Subroutines Used
I
~-----------------------------------+---------------+-----------------------------------~
IScans AUTOMATIC chain; allocates
IPBSCAN
IAUT04, SKDV1, SKENT3, S~RSCN,
I
Idope vector
I
ITEMPDV
I
~-----------------------------------+---------------+-----------------------------------~
Iscans CONTROLLED chain
ICONSCN
IAUT04, SKDV1, STRSCN
I
~-----------------------------------+---------------+-----------------------------------~
IAllocates storage for skeleton
ISKARGL
INone
I
largument lists appearing in STATIC I
I
I
Ichain
I
I
I
~-----------------------------------+---------------+-----------------------------------~
Iscans STATIC chain for INTERNAL
IARRSCN (in PA) INone
I
larrays; calculates number of
I
I
I
lelements for those arrays needing
I
I
I
I
I
I
I initializing. Allocates storage
Ifor arrays and, if necessary, for
I
I
I
Isecondary dope vectors
I
I
I
~-----------------------------------+---------------+-----------------------------------~
IScans STATIC chain for INTERNAL
ISTRALO
INone
I
Calculates number of
I
I
I
I structures.
lelements in structured arrays need-I
I
I
ling initializing. Calculates size I
I
I
lof storage for all structures and I
I
I
location counter.
I _______________ I _ __________________________________ j I
lIbumps
___________________________________
~
292
.Table PHi.
r------------------T--------------------------------------------------------------------,
I Routine/Subroutine I
Function
I
~.------------------+--------------------------------------------------------------------~
ARRSCN (in PAl
Scans STATIC chain for INTERNAL arrays; allocates storage for arrays
and secondary dope vectors.
AUT END
AUT04
Calculates size of dope vectors for dynamic temporaries and CONTRCLLED variables.
CONSCN
CSCN2
END5i3
PBS CAN
PBSi
SKAkGL
SKARGi
SKDVi
!3KENT3
STRALO
STRSCN
TEMPDV
l __________________
293
Table PL.
r-----------------------------------T---------------T-----------------------------------,
IMain Processingl
I
Statement or Operation Type
I
Routine
I
Subroutines Used
I
I
~-----------------------------------+---------------+-----------------------------------~
IAllocates STATIC storage for all
IIEMPL
IBCSCAN, CCSCAN, CNSCAN, SCSCAN
I
Isymbol tables and DEDS
I
I
I
~-----------------------------------+---------------+-----------------------------------~
IScans STATIC chain for symbol and
ISCSCAN
IDEDALi, STRSCN, SYMTAB
I
IDED variables
I
I
I
~-----------------------------------+---------------+-----------------------------------~
ICCSCAN
I
~-----------------------------------+---------------+-----------------------------------~
I BCSCAN
I
I ACSCAN, DEDALi
I
I
I
~-----------------------------------+---------------+-----------------------------------~
I ACSCAN
I
I
I
~-----------------------------------+---------------+- ----------------------------------1
IDEDALi,
I
I
SY~TAB
I
I
~-----------------------------------+---------------+-----------------------------------~
Table PLi.
r------------------T--------------------------------------------------------------------,
I Routine/Subroutine I
Function
I
~------------------+--------------------------------------------------------------------~
I ACSCAN
IScans AUTOMATIC chain for symbol and DED variables.
I BCSCAN
CCSCAN
CNSCAN
DEDALi (PM)
IEMPL
SCSCAN
STRSCN
294
I
I
I
I
ISYMTAB (PM)
L __________________
~ymbol
Allocates
storage for symbol tables.
I
__________________________________ __________________________________ J
Table PP.
r-----------------------------------T---------------T-----------------------------------,
I
I
IMain Processingl
I
Routine
I
Subroutines Used
I
I
.-----------------------------------+---------------+- ----------------------------------~
I
I
.------------------------------------+---------------+-----------------------------------1
Iscans AUTOMATIC chain from each
IENTRY type 1 entry
ISETCH
I
IEXDT, SRCH2
I
I
I
~------------------------------------+---------------+ -----------------------------------1
ISC24
I
INone
I
I
I
~-----------------------------------+---------------+- ----------------------------------1
INane
I
~-----------------------------------+---------------+- ----------------------------------1
INone
~-----------------------------------+---------------+- ----------------------------------1
ISC39
I
ISCNCHN, SHCH2
I
t------------------------------------+---------------+-----------------------------------1
IDetermines list of dependencies
I from DEFINED attribute
ISC40
I
ISCNCHN, SRCH2
I
I
I
t-----------------------------------+---------------+-----------------------------------i
IDetermines list of dependencies forlSC35
larray bound expressions
I
IEXDT, SCNCHN
I
I
I
~-----------------------------------+---------------+- ----------------------------------1
ISCNCHN, SRCH2
I
I
I
~-----------------------------------+---------------+- ----------------------------------1
2~5
Table PP1.
r------------------T---------------------------------------------------------------------1
\ Routine/Subroutine \
Function
~------------------+---------------------------------- ----------------------------------i
I EXDT
\scans dimensions tables for second file statements with adjustable
j
I
I
Ibounds.
IRAO
IRAl
IRA4
IRA7
SCNCHN
SCRUBI
SC24
SC31
SC35
SC39
SC40
SC44
SCSO
SETCHN
SORCH
296
I
I
I
I
SRCH2
L __________________
!
i
Table PT.
r-----------------------------------T---------------T-----------------------------------,
I
IMain Processingl
I
I
Statement or Operation Type
I
Routine
I
Subroutines Used
I
~.-----------------------------------+---------------+-----------------------------------~
IScans stacked CONTROLLED chain for IMYNAM
IDVSIZE
I
I
I
I
I largest dope vector
~-----------------------------------+---------------+- ----------------------------------i
IMKSTAT
I
I
I
t-----------------------------------+---------------+-----------------------------------i
IAllocates slots for ON conditions
I~KSTAT
IDSA4
~-----------------------------------+---------------+- ----------------------------------i
INone
I
I
I
~-----------------------------------+---------------+- ----------------------------------i
I
I
t------------------------------------+---------------+-----------------------------------i
IAllocates BUY workspace
IDSA17
INone
~------------------------------------+---------------+ -----------------------------------i
IDSA19
INone
t------------------------------------+---------------+-----------------------------------i
IAllocates storage for double preci-IDSA25
Ision variables
1
INone
I
I
I
r------------------------------------+---------------+-----------------------------------i
IAllocates storage for single preci-IDSA29
Ision variables
1
INone
I
1
1
~------------------------------------+---------------+ -----------------------------------i
IDSA38
I,
INone
I
I
~------------------------------------+---------------+ -----------------------------------i
IDSA46
INone
t------------------------------------+---------------+-----------------------------------i
IAllocates storage for arrays and
Isecondary dope vectors
IDSA54
1
I
I
~------------------------------------+---------------+ -----------------------------------i
IDSA68
ICOPY, MKSTAT
t------------------------------------+---------------+-----------------------------------i
I
I
~-----------------------------------+---------------+- ----------------------------------i
IAllocates
storage for DEFINED iternslDSA98
L
____________________________________
_______________
~
INone
___________________________________ JI
297
Table PTi.
r------------------T--------------------------------------------------------------------,
I Routine/Subroutine I
, Function
I
~------------------t---------------------------------- ----------------------------------11
CONTi
COPY
Compiles code to copy skeleton dope vector into real dcpe vector.
DSALOC
DSA4
DSA5
DSAiO
DSA16
DSA17
DSA19 (PU)
DSA25 (PU)
DSA29 (PU)
DSA38 (PU)
DSA46 (PU)
DSA54
DSA68
DSA72
DSA74
I
I
DSA98
DSA16i
DSA162
DSA952
PVSIZE (PU)
INITDV
MKSTAT
MYNAM
I
I
I
I
I
I
I
SDVCDE (PU)
I:
II
Ii
I,
I:
II
Ii
ILSTDVIN
Initializes structure memter dope vectors.
__________________ __________________________________
__________________________________ JII
~
298
Table QF.
r-----------------------------------T---------------T-----------------------------------,
I
IMain Processingl
I
statement or Operation Type
I
Routine
I
Subroutines Used
I
I
~--------.---------------------------+---------------+-----------------------------------~
IScans text for statement labels,
IQFOOOO
IQBEGEP, QB~ROL, QECP, QMCVE, QPHOL, I
IQSL
I
IPROCEDURE statements, BEGIN state- I
Iments, BEGIN END statements, and
I
I
I
lend-of-program marker
I
I
I
~-----------------------------------+---------------+-----------------------------------~
IProcesses statement label pseudoIQSL
IQMOVE
I
Icode items
I
I
I
~----------------.-------------------+---------------+-----------------------------------~
IFrees text storaqe at end of phase; IQECP
IQMOVE
I
Ireleases control
I
I
I
~-----------------------------------+---------------+- ----------------------------------i
IQBEGEP
I
I
I
~.-----------------------------------+---------------+ -----------------------------------i
I QONPRL
~.-----------------------------------+---------------+ -----------------------------------i
INone
I
I
I
~.-----------------------------------+---------------+ -----------------------------------i
IQMOVEi
I
I _______________
IQMOVE
I
I
I
I ___________________________________ JI
299
Table QF1.
r------------------T---------------------------------------------------------------------1
I Routine/Subroutine I
Function
~------------------+---------------------------------- ----------------------------------
QADJAL
QBEGEP
QBPROL (QG)
QEOP
QFSKIP (QG)
QFOOOO
Scans text for statement labels, PROCEDURE staterrents, BEGIN statements, BEGIN END statements, and end-of-program marker.
QF0201 (QG)
QF0360
~F0370
QF0570
QF0625
QF0860
QFl172
QFl194
QF1215
QF1511
QMOVE
QMOVEl
IUONPRL (QH)
I QPPROL (QG)
eN block.
I
I
I
I
I
l
I
I
I
I
I
I
I
I
statement label pseudo-code
items.
lIQSL
__________________ IProcesses
__________________________________
__________________________________
JI
~
300
Table QJ.
r-----------------------------------T---------------T-----------------------------------,
I
IMain Processing I
I
Statement or Operation Type
I
Routine
I
Subroutines Used
I
I
~-----------------------------------+---------------+-----------------------------------~
IGeneral scan of text for ALLOCATE, IGSl
IALLec, BUY, BUYP, FREE, TRP1.
I
IBUY and FREE statements
I
I
I
~---------------,--------------------+-~-------------+-----------------------------------~
IAllocates items not requiring dope IAL20
IAL15, TRP2
I
Ivector
I
I
I
.-----------------------------------+---------------+- ----------------------------------~
IAL28
I
.------------------------------------+---------------+ -----------------------------------~
IAL27
I
I
I
.-----------------------------------+---------------+- ----------------------------------~
IAL29
I
I
I
.-----------------------------------+---------------+-----------------------------------i
ILoads Library call parameter reglister to free allocated storage
IFREE
I
ITRF2, TRF3
I
I
.'-----------------------------------+---------------+ -----------------------------------~
IBUYP
I
ITRF2
I
I
I
.-----------------------------------+---------------+- ----------------------------------~
IBY14
ISCANSF, TRt2
.-----------------------------------+---------------+-----------------------------------i
IBY13
I-t urE:
.------------------------------------+---------------+ -----------------------------------~
I NXTRF, SCANSF
I
I
I
._----------------------------------+---------------+ -----------------------------------~
IGSl
I
I
I
._----------------------------------+---------------+ -----------------------------------~
IGenerates code to set a pointer to IPREVAL
Ithe previous allocation.
I
ITRF2
I
I
I
.-----------------------------------+---------------+-----------------------------------i
ISearohes dimension tables for
ladjustable bound expressions
I ABOUND
ISCANSF
I
I
I
.-----------------------------------+---------------+-----------------------------------i
_________ JI
301
Table QJ1.
r------------------T--------------------------------------------------------------------,
/ROUTINE/SUBROUTINE!
FUNCTION
\
~------------------+--------------------------------------------------------------------~
ABOUND (QK)
Searches dimension tables for adjustable bound expressions~
ALLOC (QK)
AL15
AL20 (QK)
AL27 (QK)
AL28 (QK)
AL29 (QK)
BNDEXP
BUY
BUYP
BY13
BY14
BY15
FREE (QK)
GSl
LIBC1/LIBC2/LIBC4
MOVEDV (QK)
Generates code to move skeleton dope vector into workspace for controlled variables.
NXTREF (QK)
NXTVAR (QK)
PREVAL (QK)
REVPT
SCANSF
DUY.
state~ent
SKIPTX
STMP (QK)
TRFl
TRF2
!TRF3
Adds the Library calling sequence to the output text.
l __________________ __________________________________ __________________________________ .1
~
302
.Table
Q~.
r-----------------------------------T---------------T-----------------------------------,
I
I
IMain Processingl
I
Routine
I
Subroutines Used
~-----------------------------------+---------------+-----------------------------------~
r-------------------T--------------------------------------------------------------------,
I Routine/Subroutine I
Function
I
~------------------+--------------------------------------------------------------------~
ANAGG
Analyzes dictionary entries for a major structure or non-structured
array.
ANCOB
FINALA
FIRSTA
FORMAL
GETVO
GETSB
Sets
PRAIEN
PRHED
SCANC
SETPH
Prints first page heading and sets print buffer for subsequent page I
headings. headings.
I
~ointer
CON~ROLLED
I
I
I
I
I
IVOPLUS
Calculates address of first or last
element of major structure.
L. __________________ _________________________________
___________________________________
JI
~
303
***
x
*****
*10 *
* Bl *
***
304
Chart R1\
RA
Al
lAA
s l
... x:
INPUS~AN
TEXT
...
:",
.................
,
.~
'.
Bl
ACT~ *C~..........
C3
TACK.
GET NEW STACK
YES
RMATION
Er.TRY FOR NEW.
~ROC/BEGIN
F"'~~'fi~A~~S :
'\~~h~~
Cl..
ANI'
X:
: .................:
X:
: ..
: i.~~~~~ :
NO
ACTl
01
lIN 0 T E .
YES
S A K "I
PROC'/BEGIN' X.
X. Sl
ORA&E
....
NO
K
E~
..
J~RT
~AT1H
.
. ....
..... x
ME~!..
.. ..
p~e
:!A
:
.................
NO
ic
DRT~U,.~~UU......
til.
.....J'.
x.
........................................
NO
Fl..
*..*
ACT l~
Gl..
....
AlO
F3..
x.
....
0 IHT~R~~~y:
'.~O~~A!EE~.'.* YES
RE~ER NCES
K*, PR DU fO
... X.:
AND 0 FSETS
B FO E
.....
........ ........
UPSN
GENFLP
E2
~3..........
~4...........
;TAT M Nt' YES
:
Gf~~Alg:
:
Ge~~Al~
:
:
Ng!.gl'~N
A~AT~
~POATE
. . : . \lUES
S ~lS~ NT
:
x
:
ON~~FA~s
:
)(
YES
*...
.~
F4.......... :
rF.~~6RngM
fOR~O
:
:
*.0
..
f)OR"SS
G2
.
.
....
.. .
:B}~k~TE YES
:
MXt\Kh
x:
~MPo~O
AB~8~~TE
:
:
NO
X. Rl
Hl..
ACT12 H2
POINT
"I HISER ON
: .....~1~~ :
....
NO
o.
NO
*.
J1
...ic
END
OF
PROGRAM
*. * .*
Rl
.*
YES
RF
..
1.1
305
Chart RF .
.....
..
RF
Ai
.....Al
X
......
:
:
.
.
III K.
: x
0 ell
P91NIT
x
81..........
X.
SCAN TEXT
e :
LB
B5
: g~~l~VH :
X.IIjSTRUCTlON AND.X
..
C2..........
..
OBREGS
C1
*C~
USI NG YES
:
RE~a~~~:
: SC~~~~~G~~IER :
PfEUDO X.
UiAGE AND
X.
RE~U~~T~
:
~:~HD:
:
PEN
:
I~~ RUCT!~N.
NO
OUTPUT
*C4.~
~~N~RATe
:
~ERI HE~~
:X
YES
*.
00;..
~EGAI~hRS YES
... 8RANCH NO :
e. AVA LA8lE .e X*.
IN OR. OUT *
POINT
03
e.
ic
.e.
.*
*
*
NO
e.
l(
XXo
E1..
LAOi e2
GET FREE
ADDRESSING YES
REGISTER FROH
NSTRUCTlO~ X:~~~MIH H~~'
IF NONE
.. ..
.'.!
E3
.................
ic
: . :
NO
. : . E~~r
.:.~?
=~GI e~~..
YES
LAn.
*f"
I NIt
. .
: : :
:l~~UU~~.tlk~.:
NO
. .....'3..........
:ADIHOV
LPROC,
LEND
";0( IPROC:
HZ
yes
:
OR Ub~MATE:
~~GIN/BEGIN:
BL~l~C~N~~IES
.. ..
*..*
NO
Kl
...x
NO
END
PR8~RAH
*.
* *
.....
.Al
TF
306
YES
K:
......
:"'XX:
B1 :
.................
XPAN
RE
NG.
1t~.uloNS
1r.HpUT. x. B1
". IN 9
X.
:
~.l
F1
: :~f
PROLOG
yeS
AOOR~~SING.
Fit H
H1
LOOK-AHEAP
("I
Table RA.
r-----------------------------------T---------------T-----------------------------------,
I
I
IMain Processingl
I
Routine
I
Subroutines Used
I
I
t-----------------------------------+---------------+- ----------------------------------~
ILAA
I
I
I
t-----------------------------------+---------------+-----------------------------------i
IProcesses RX, RS, or SI instrucItions
IACT3
I
IADTEST, DRTEST
I
IProcesses 55 instructions
IACT4
IADTh5T, DRTE5T
t-----------------------------------+---------------+-----------------------------------i
t-----------------------------------+---------------+- ----------------------------------~
I Statement: 1.
IACT15, ACT14,
IACT16
I
t-----------------------------------+---------------+-----------------------------------,
IACT6
I
IADCEUF
I
I
I
r-----------------------------------+---------------+-----------------------------------,
Iprocesses END statements on PROCE- IACT7
IDURE or BEGIN blocks
I
IADCBUF
I
t-----------------------------------+---------------+- ----------------------------------~
IADCBUF
IGETCBF
r-----------------------------------+---------------+-----------------------------------,
IAdds text to insertion file
IADIBUF
IGE1IBF
r-----------------------------------+---------------+-----------------------------------,
IObtains new source buffer
IGETSBF
INone
t-----------------------------------+---------------+-----------------------------------,
IObtains next output
buffE~r
I GETCEF
I NonE
r-----------------------------------+---------------+-----------------------------------,
IObtains next insertion file buffer IGETIBF
INone
r-----------------------------------+---------------+-----------------------------------,
IDRTEST
I
I
I
r-----------------------------------+---------------+-----------------------------------i
IProduces recovery code when literaliADTEST
loffset greater than 4095 is met
I
IADCEUF
I
I
I
t-----------------------------------+---------------+-----------------------------------,
ICreates coded addressing instruc-
Itions
L
___________________________________
IADINST
IADCBUF, ADIBUF
I
I _______________ I _ __________________________________ JI
307
Table RAi.
r------------------T--------------------------------------------------------------------,
I Routine/Subroutine I
Function
~------------------+---------------------------------- ----------------------------------i
ACTi
ACT2
Copies
ACT3
ACT4
Processes SS instructions.
ACT5
ACT6
ACT7
ACT8
ACT9
Action of start of
ACTiO
non~special
co~mon
PROCEDU~L
or BEGIN blocks.
block of prologue.
ACT12
copi~s
ACT13
ACT14
ACT15
ACT16
ADD/ADD2
ADCBUF
ADIB[JF
ADINST
I
I
I
I
sta~eroent
compiler label.
ADTEST
I
I
I
Produces recovery code when literal offset greater than 4095 is met. I
I
ATD
DECaMP
DRTEST (RB)
DTY
GENFLP
GETCBF
GETIBF
GETSBF
LAA
L125
8ETBLK
UPSN
I
I
I
I
I
I
l
I
I
date.
L__________________ __________________________________
- _________________________________ .JI
~
308
Table RF.
r-----------------------------------T---------------T-----------------------------------,
I
I
IMain Processingl
I
Routine
I
I
I
Subroutines Used
~-----------------------------------+---------------+- ----------------------------------i
IZ9
I
ISTORE2
I
IADCEUF
I
I
I
~-----------------------------------+---------------+- ----------------------------------i
ISTOREi
I
IADCEUF
I
~-----------------------------------+---------------+- ----------------------------------i
IADCEUF
~-.--------------~-------------------+---------------+ -----------------------------------i
Table RFi.
r------------------T--------------------------------------------------------------------,
I Routine/Subroutine I
Function
~------------------+---------------------------------- ----------------------------------i
ADCEUF
ADIMOV
BRGUSE
I
I
BRi (Ril)
BR3 (RH)
BR4 (RH)
F'RTEST
GETNXT
LADi (RH)
I
I
ILB
(RR)
IConstructs
and puts out completed _________________________________
instruction.
L __________________
__________________________________
_
~
309
Table RF1.
r------------------T--------------------------------------------------------------------,
I Routine/Subroutine I
Function
t------------------t---------------------------------- ----------------------------------~
LBAL (RH)
LBALR (RH)
LBCTR (RH)
LDROP (RH)
LEND (RH)
LEOB (RR)
LEOP
LOADl
LOADRG
LPROC
LR1
LR3 (Rh)
LR4 (RH)
Processes SS instructions.
LR6 (RH)
I
I
Processes SI instructions.
ILR9 (RH)
LSHIFT (RH)
OB560(RG)
OB630 (RG)
OB895 (RG)
P9INIT (RH)
OBREGS (RG)
REGUSE
STORE1
STORE2
W4
(RH)
Z9 (RH)
310
(~H)
L __________________
(RH)
I LR7 (RH)
I
I
I
I
I
Controlling
scan of text.
__________________________________ __________________________________ J
Chart 10 .
1(\
81
' Bl.a
:~:~~i!.-.-.-.-I!:
ASSIGN OFFSET.
TO lA"IEl S
Hl4,
.-11>-.-.-.-.-.-.-'"
lIE'"
.SUTIC
..................
.INIT I Al t
ZATfO~
4'
4'
.1 >
x..
JJ
~.
.. ..
.....
Lt ST TEKT
*.
NO
KA
AI
Jz
.I.IST
.
YES
.- .... -.-.-.-.-.-.
K
UF
... .............
.....
LIST
TF.~T
ic
~A
AI
311
Cbart TF .
Phase TF
~ver311
Logic
TF
A1
Diag~a~
.........
A3
....
.... ....
x
A3
.......
......
82
81 X.
.....81..........
X
ILClOZ"
:
~HT8~~~~~:
FROM TA8LE
: USI~~ l~~ENT :
Cl
ILf)f'17
BLOCK
83
.X..........
~~:fNT~QT
BLOCK
: x: 81 :
NO NO OF YES
~ROGRAM
..~ . .
il:
l~~b~ ~OINV~~
OFE~gxT :.~;~ x:
ITEM FRgM
.
. ....
.................. ....
I Ll)(\22
A"
NO
gPcbK~~~1:
1 .X.... ....
.....8Z..........
IL0003
"':.
I LOlll!)
C2..........
:T
C3..........
C"
;ROCEOUR: YES
: ~~l~ ~Mll~~l
25~ti~~'~~:
SET LOCATION:
HARKER
X. VAL UE fN ET~ lI.A~igjS RiYUIR@O* X.
iOUNTKR
:
.'..
..'.
: ~~O~O~I~I~~vy :
:OF S71~SlNMNl :
:
0 IE O .
"'........
i.
: ....
82 :
...
Xli:
NO
01
ILnOll
02..........
03..........
..:
:...............:
!L0015
E2..........
F.3..........
.................
.................
pfto
~4
*eNO OF YES
: S~~~CllFT~~a~ :
:
Sl~~
Lo~n~M
:
OF
PROGRAH sIze
.Eft OF CONTAIN-.
X
.'.. ..
:.~~!::.n:~.l
VS :
:.1~~.:~i~'2~~~.:
NO
E1
. . . . PL8 S YES
: o~L~~fic~M~e :
:
~MUekof~:
OR
X.
SO bAR IN
X.ZaRO ~~~~ ~PACE I(.
/C8S ' .
:LC~~~T SFL~f~3 :
:F R ~lSCnNi INC :
:
.. ..
NO
F1
..........................
ILl' 01"
FZ..........
N~N-8RANC~ YES
:
HACHINE
X.
INST
.. ..
NO
Hl
......
NO
"3
312
Tn LOCATION
COUNTER
x ......
)(. 82
1l",!l9
YES
LABfL
"'.
* *
A~2sH~gf~o~F:
.................
*..*
H2
ASSIGN THF..
cuRRENT
...
X.
LOC'!T ION
X. 82
COUNTFR VALUE.
AS OFFSET.
e"...........
SE~ij:RII ~~LOG8HS u, E
OFF ?:C8S'
.................
~verall
Phase TJ
Chart TJ.
Lcgic Diagram
..
...
~
'~Al
IU")OIl
A3 ...
1".
.*
A3
*.
NO..
END
02 .X......
OF.~
PROGRA",
INUI ALilATlON
111..*
* *
..111111
YES
B3
: Cn~H~~ET~~f :
8LOCK
...................
......,.
...'.91..........
X
ILI\()1}3
* JC ., o
ILt!O . : . .
.l x
~3
oz..........
..,..........
1.X.........
:
EfsT8R~~~~:
FROM T!~l
: uSts~ ~gD ENT :
...........
OZ
~.....
......
.. ..
t
NO
ic
HI..
...
LABEL
....
Jl
:'"
te.
YE:S
...
, )(:
..x ........
.. ....
......
x
A3
...
H2..............
x:
I LZrI(16
H3 ...
ASSIGN NEW.
CHANGE
YES
TO
: X ~~g <\t~~~
nFEUh
IL(ln21
:.. HJ~;:~rM~r . .:
.:.~~:~
....
NO
...
... .....
All TREATEO'"
...
.............................
'"
MVC
........................ ....
...
...
X'"
I v'~12
ILU!l2
GZ ............. .
.Gl"'ACH. "'.
NST, PLBS.t YES
!
8S END OF ,
IILOCK .'"
....
.................
8PtT~"b.~~~:
:Fa~s f~~RS~A~N :
F~O'" .x PRO~' ANO END.
T~~b~ ~(1I2V"~ :
:
OF EXT BLOCK:
~...
rg , :
COMPRESS
I~HE=~~
.................
.. ..
x
......
.
.
..
.~
H4 ........... .
C~~~E~~p~~QC. : ....
02 :
swi TCH
................................. .
.......... ~ x:
l(:
02
02
313
Phase TO
Chart TO.
~ver311
Lcgic Diagram
B1
GENERATE BASE.
: FOR ~f2E~NTRV :
lG421
c1.:
MAKE 6
E~JA~2t~?ES
K
01
MAKE SO TVPE
F~RECT
THE ENTRV
MA IN C
IF EXT PRO HAS.
:.~=U=~.~~.l~~.:
.Gl.
K
LGI:'sn
SCAN
ElCTERNAL
lG02~ G3.~........
.................
.* . .
H2
NO
EXTERNAL
NO
: )(;"0'"
..."
H3
EXTERNA~
)(.~~~Mn'io2~ l(~~n~C~tSN
..NAME
YES
YES
M. KE SO
ANn PR
TYPE ENTRIES
*.
Jl.
. .................
.
. .
*.
.*..
FILE
*0
Ie
H1
CONC~~~~EO
J2.
................
..
.
yes
?:.
.. ..
~.
"In
"'AKE PR
TVPE ENTRV
.................
~o.l(:
...x
OO
G5.;.
01 CT
F.~TRY FOR YF.S
: X OA~~~~(~
~CAN.
: xt snfHo~H2~N :
(I . . . . . . . . . . . . . . . .
r,4..
Hlo
OICT
ENTRV F:lR YFS
.~I)~f~~~lEO
*,
*.
.-
*
*
NO
Ty~~K~Ni~Y
x x o.
1<5 ......... .
...
...................
.PRnIJUCE eR TYPF
F.'ITRY FOR fACH
...
"'OfJULE
...
...
314
Chart T'I
....'"
TTAI'"
.41 Al.
INITJAL~lATI~N
SE T SW T~HF.
'
FOR PUN H LO 0 '.
OPT 0 S
..
................
'...
....
.
..
Bl X.
*.
ILOO~;"
K
Bl '"
:
x.
B2
GfT BRANCH
L ST INDEx
.x o o ~o
!lOll";!:
~
"'82
':
:
.X
:...............:
Cl ..
x
~E~R~~~GI~EUF :
P~OM TABLE 2
:.l~:~!~:,~U=.:
.Hz..........
.... i
CIt...........
~RO E UR~ YES
: SA NC nE~~ :
:~~Nrc.p~R ~:
SET
~~NT
:
X. L& "'}
Of
:
:
:
;RO
I :
T T
r.
MA~K~R
!lOfHn
.'~
gL~T
pioNEA~~etGT1
;.2 ~....
. .
lLOO 3
~3..........
X.PRO~~~ PR~L~
~O~~n~ yA~UE
~~HN
~~.;.1....
~~
~~F~~~R.
NO
01
ILOOll
*.
Ol...........
.1'13
~EAR
EN~ ~F
YES
TEXT UFF~R.
.RESTORE PRiCLC
PRO E URE ........... X RFSTO E L CN
X. FROM LOCH +
MA K R
4(;0IlNTER F OM
LOCN3 1~ TI
: :
~2~n.l~.SU.
X.
Ie. 81.
NO
1~~31~
.1. *.
GENUT
El
Ef..........
~~...........
, PL8 S YES
:8vp~ftOe PReca~ :
: G~~o ftTS :8~T:
:
PC 8 S
........... X.
kN'D Ie. THE R!h~IR~O
: TOF~P Nao.v~ :
8N 0
:
i!lY.'!+r
. .
:,a
i
~~........
NO
Fl..
GENTXT
FZ
: T ~~N~~~TS 0 :
X. iNFORMATlbN ., X. 82
: A~~x~LAf#Fl~:
.....
.*
NO
....
....
.. ..
~
G1..
.
. ....
.................. ....
1l02~~ G2
" END OF
YES
CHA IN TO NF.XT
NO
: NO
HI..
"~~N8
'11.
RF 1YES
R G AM 4
*..*
H2
IS ~OMPILi~
NO
x
USA~VlDN
*..*
YES
ILOl'17
*H3...........
.CL~AR
0 )(.
TEleT
A~D
LO BUFFf.R
1~
o ooX:
II:
.: ........ ".......INC~~~
. .i..
)(:F8~N~Oft~fivH~~ :
HIt
: MARK
C~R~NT
T[,~~AN~e"DK
: ~
I
}I.
'.................
..VA
...
A2
J3
..
315
Cilart iJA.
Phase UA
~ver311
Lcgic Diagraw
UA
A2
UAOOI'
A2..........
A3
Gf'T HEAO OF
INITIALlZATION K. STATIC CHAIN
ic
83
UAOC'l5
BIt
*
*.
.................
.. ..
*..*
....
""2..........
:STARID~~A~
.................
X
oz....
UAIt(l1
RNAL NO
'.:XIfEM
FOR:
yes
CONST~N~
.)(..........
.INIT IALllAT ION
.!.
C3
NO
UM1C'
....
YES
)(..
*..*
Cit.i. .
~:nE ..
...C5 ..
NO
:-.-.-.-.-t~t~2~:
IABLE
X.
LABEL..
PRocess ITEM
.....
..1)*...
Y
tl:I~~:
UA 3.,
.................
UA01~ D3
TXTMOY
END OF
YES
: X Ta~S S~1~T )(:CONS~~~~S~OOL :
UA013
.-.-.-.-41-.-.-.-.
*..*
NO
El..........
E2
.................
Ie
...it
it
*.
.*
*.
:X ...... ~~.: IT~~E~EED . : .
AOCON
*.....
FJ
*.
,F *. .. *yes
....
.- END
STAT C
CHA N
.......
YE!
.uo
NO
B2
.....
F5
.F2"'.
.-.-.-.-.-.-.-.-.
..................
X
TKTMOV
PROCESS ITENl
..x
* E"lD
: )(.0
OF
St~llij
*.
*.
YES
...
"lO
H3
.UD
liZ
OR *.
STRUCTURE
.*ARRAY
YES
GET "lEXT ITEM .X..........
.................
*.
)(
....
*..*
"lO
~:~n~,
....................
U'd8"
)(
J3
................ 1'1.:.-.-.-.-.-.-.-.
TKTMOV
PROCESS ITf"
316
"'G5
.............
OUTPUT
TEKT
UA033
. . . . . HZ..........
FORM TFleT
IN BUFFER
G3
E5.
TxTMOV
H~
RETURN
...............
Chart UD.
uo
82
..C2.
X
: MOv~N~~Rij~T :
FROM
COMM!. REGt. [NYO.
fJSAOFF
S~ATlC
..................
x
: ~o~;;.;;o
:
.....:
*D~~:t;
F IR~T OR NEXT
O~ AOFF 8Y
STATl
OSA
LENGTH OF
PREVIOUS OSA
OICT I NAAv.
F.N R Y . .
.x.........
...........0....
9
..............
x
F~.i
. x:
A~CllS
eN ~~Y
AtTO
'\. :
~Y~
SCAN I
G2
.-.K
t.
VES
.*
G3
...
YES
MORE
OELIMITE'\ x S~~II~
*. .*
*.
H2..
.. ..
,,*
)C
1>10
H3
NO..
ITEM
VES
:x .. .D~~~U~~lnR. .. .. .,
*.
.iI
UE
A3
*. .*
1>10
*.
H4
...,
)I
.. ...
CORRE~-
P8~~~~ES
.. ..
H!5
VES
*...
*..*
YES
*.
GElERATE
1>10
CARl)
Te~gg~F :
"'
"'
GFI>IERA TE TKT
CARO OOPF
V!;C TOR A'IO
O O "
** *** *
OOIl.Ofl"~fI.O
X
0;.***
* *.J
SCAI>I BAH
HF.MENB
** RLO
GENFRATINC:
CARDS FOR.
.1/ IRTUAL OP I GINS
* *** *
. "
oo ,,'I(oo
OftOtlO OClI"iO.OO
1'I
317
)ia~rarr
UE
"3
..."3......
X
U,,':Ion
..
..
:
S?HI~E~~,,~~
e3
U"'r' 15
RIt .......... .
*
*.
III
III
.. ..
.................
"10
0:
Nt:)[yEITEM
C3..
.111
....
)(
UAlI2l . . . C2..........
:X e
~n
UA2~;'l;l5.;. ....... .
C4
*.
.*
*.
.. ..
.................
..OR LAB L
II
.................
x
02
SC AN
III.
NO
III
III
..... X:OFRn~~fcS~~~I';
E2 .~
DOE S
El..........
~TEM
....
..
F2
PROCESS ITEM
rc
.-
F3..
f~~IN :.~?
.111
*..111
.:. OF
Fit
*.
ITE~
."
.....
.....
."1.
.....
!;~.:*
x
!tI.
UF
H3
f~~IN
:.K. :
ITf"
.*
H"
:l(
GE~"IN~~XI~TE'"
....*J3..........
.................
III
K: PROCess
*...
*
U"I~5
*.
NO
UAI'Ud~F'5.;. . . . . . . ..
....
OF
.i.NO
*.
YES
318
GEf NEXT
YES
..
.E4 ...
.x _
111.._
UA033
NO..
.................
U"'J21
*03
*.
III...
*..*
l(
J4' i...
.. ..
NO
:csd~ITMk'fhM
: x.:
IIIG
*.
..JS.;....
.................
*.
.._.
'~IJU~ :.:;~ x:
:
PROr.ESS Iff'"
.....
Chart UF .
UF
AI
....
......'tnT8~~~~~:
81..........
X
I ll,I'f)]
:
I:ROM T A8l F 1
82
x ,,~)
.glj~R~~~GI~E~F
..1:12 .......
It CI 0
Il("lu n 2
0 0 . It 110
eo
ell
no"
0 0
:
:
.'X FROM TAAlE 2.
t:~::~t~~~i:::.:,
El ..
X
:.l~~~t~~~l~U~.:
.....f2...........
...... 3.
.............
.............
\l(,n15.
lr016
PRINIT
~
PlBS YES
.PRIN b~OlOGUE.
P~/NID~M~
PCBS
X ~ROCEO~~~ BASE:, )( FORGpU~~R~pRoR~ISSEVNG.
lOCN C TR n
S~
.. ..
NO
IL(\(\18.
Iltltl 9
GZ
PRINT STATEMENT
lAB~l
YES
NUMBER
2~ ~~~JE~EN! , )( .A~gE~nF\~R~l
Gl
*. * * .*
.......... *
00)(:
B? :
NO
HI..
0"
END
~~
OF
PROGRAM
..
*.
*.
....x
.....
IU'I,17
HZ
YES
. X.
RElE ASE UH
MlO l040 ur
NO
A7
...x
.1'5
... ...
J2
J3
...................
.
.
.
..
.
..................
'ti.
NO
..
........ K3
.....
...
it
XA
AI
DiI~ctcris
319
.....
2bart XA .
Jver~ll
Phase XA
Lcgic Diagram
l(A
AI
X
XAN
: Al . . . . . . . . . :
: aH~tr~~
SET
LEVEL OF
: SEVERITY CODE : X: 0~~r~9s~~l
XAf'
X
81..........
CONSTRUCT PHASE.
XAI
82..
)(Ai *B3
ANY
YES ENTRlp NO
P~T OUT
PRJgE~SEO X.
'" SSAGE
.................:)(. ....
:",~~~i~~oCrJ~~
XAit
Cl..........
*..*
XA7
.....
..
.AA
C2..........
C3..........
H4
C4
: ~UH~~ :
: ~ge~~~s : x: ~~li~~E : x: ~k~8~~ : )(: A~e~f~s :
",k~~fGE:
S~AN:
~?Kf g~:
.........
...
04 )(.
,,*
l(
04
ALI
-,
., .. .....
NO
YI'S
p~NTR es
,*ooeooo
"OCE SED..
)(
~A
H4
..
XA'I E1 . : . . . . . . . .
XA2~ E2..........
GET T O : :
~~~V
8LOCK.
HEAD OF
X.
CHAIN.
t.t.t
t.t.
l(Al~~ E4
E3..
....
:
A~UN~R?~h
*rHP~HAI
A YFS
N X
X..
NEW
...
..
SEV~RI
TY
HF.'AOF.R
x
I t 1I t t t t
)(
..NO
Gl..........
G2
G3
IS
GET T O .
SK~LET2N NO
END
YES.
: X: N~~Tc~~I~Y
: X !N B~~~KNT X C~~IN X: 04 :
)(A3C'
.. ..
.
.
.................
*...
.....
.. .
YES
: ~~~~:~; . . . .:
.....Jl..........
...........................................
: KA35
:
SKELETON.
~CECSES~GSE
.................
H3 HAS
: . . ~~l~::t.~~:
.....
x:.
NU"'B~R
GOT
YES
: )( ~ NMt~~FN! . . . . . . . . . . .
..................
.....J2..........
K:
.................
.
XA32
NU"'8~R.
TgU~~E~T
....
NO
"x
.....J3..........
.................
M~CA~8E
SK~~h N
: K:
..................
*...
~.~.e.e(l
T~u~h~T
......J4...........
Oc
ICA4"
8U 1L0
Me SSAGE.
T~n N~N
:
BUFFER
..............
x.
PUT OT
01 A~~~~GJ.c
...
K4
HAS
YF.~"
....
NIJ ...
THIS
~ o.o.".".".~t~TcA~t~V,..'.IIlI,l~o't(: 0
*0
320
rIA'
"*
.***
Table TE.
Phase TF Final
Ass~mbly
Pass 1
r-----------------------------------T---------------T-----------------------------------,
I
IMain Processingl
I
I
statement or
Op~ration
Type
Routine
Subroutines Used
~-----------------------------------+---------------+- ----------------------------------i
I ~3cdns text
IIL0024
I None
t------------------------------------+---------------+ ----------------~------------------1
IFINEQl,
II~0019
~EX~SL
~-----------------------------------+---------------+- ----------------------------------i
IILOOl4
INone
I
I
~------------------------------------+---------------+ -----------------------------------i
IFIN~Cl
IIL0020
I
t-----------------------------------+---------------+-----------------------------------i
IInitializes location counter at
Istart of procedure
IILOOlO
I
INone
I
I
I
t-----------------------------------+---------------+-----------------------------------i
IStores size of procedure and
IILOOll
INone
Iresumes
containing procedure
I
I
L_. __________________________________ _______________
~
Table TF1.
----------------
I
I
___________________ J
r------------------T---------------------------------------------------.------------------,
I Routine/Subroutine I
Function
I
t------------------+--------------------------------------------------------------------i
IFINEQl
IILOOOO
IIL0003
ILOOlO
IL001l
IL0014
IL0015
ILOOl7
IL0019
IL0020
IL0022
IL0024
LINEXTSL
__________________
Istores size of
procedur~
IReleases control.
Iscans text.
IDeterrrines
multiple statement latel__________________________________
entries in dictionary.
__________________________________
J
321
Table TJ.
r-----------------------------------T---------------T-----------------------------------,
I
I
IMain Processing I
I
Routine
I
Subroutines Used
I
I
~-----------------------------------+---------------+-----------------------------------~
\Controls phase
IILOOOO
I OPTIMA
I
~-----------------------------------+---------------+-----------------------------------~
IMaintains location counter for
IIL0014
INone
I
Imachine instructions
I
I
I
r-----------------------------------+---------------+- ----------------------------------~
IIL0019
~-----------------------------------+---------------+-----------------------------------~
IIL0020
I
IFINEQl
~-----------------------------------+---------------+-----------------------------------~
Table TJi.
r------------------T--------------------------------------------------------------------,
I Routine/Subroutine \
Function
~------------------+--------------------------------------------------------------------~
COMRTN
FINEQi
~ossible.
ILOOOO
\Controls phase.
\Entry point to scan lcop from initialization.
ILOOi0
ILOOii
IL0012
IL0014
IL0019
IL0020
IL0024
IL0027
ILi00i
ILii01
NEXTSL
OFFSET (TK)
I OPTIMA
~
322
IL0003
IOSMRTN
L__________________
I
Scans text.
I
I
Scans ahead for literal offsets.
__________________________________
__________________________________ JI
Table TO.
r------------------------------------T---------------T-----------------------------------,
I
I Main Processing I
,
statement or Operation Type
1
Routine
1
subroutines Used
1
1
~-----------------------------------+---------------+-----------------------------------~
I constructs first: six standard ESD 1LG40i
1f1~OVE, NA.ME, ERROR
,
lentries
I '
I
~-----------------------------------+---------------+-----------------------------------~
IConstructs entries for external
ILGOOl
,MOVE, ERROR
,
Iprocedure labels
1
I
I
.-----------------------------------+---------------+- ----------------------------------~
'MOV~,
NA~E
.-----------------------------------+---------------+- ----------------------------------~
Table T01.
r-------------------T--------------------------------------------------------------------,
I ROUTINE/SUBROUTINE 1
FUNCTION
.------------------+---------------------------------- ----------------------------------~
ERROR
LGOOl
LG030
1JG050
I.G055
1.G080
1.G085
I,G090
LG093
L,G401
MOVE
Moves ESD entries to card buffers, and puts out buffer when full.
NAME
11HEINC
(TQ)
constructs
a string of Library module
names.
L ___________________
_________________________________
___________________________________
J
~
323
Table TT.
r-----------------------------------T---------------T-----------------------------------"
IMain Processing \
1
I
statement or Operation Type
I
Routine
I
Subroutines Used
1
~-----------------------------------t---------------t-----------------------------------~
IScans text
I1L0002
INone
I
~-----------------------------------t---------------t-----------------------------------~
IGenerates text for RR instructicns I1L0012
IGENTXT
1
1
t-----------------------------------t---------------t- ----------------------------------~
I
I
~-----------------------------------t---------------t- ----------------------------------11
IGENTXT
1
I
1
~-----------------------------------+---------------t- -----------------------------------1
IF1N~Ql,
GENTXT, OFFSET
~-----------------------------------t---------------t- -----------------------------------1
I1L0010
1
IPUNCHT
1
~-----------------------------------t---------------t- -----------------------------------1
I PUNCHT'
~-----------------------------------t---------------t- -----------------------------------1
IGENTXT
IPUNCHT
~---------------------------------,--t---------------t -----------------------------------1
IPUNCHT
ICAkLOU
~-----------------------------------t---------------+- -----------------------------------1
324
Table TTl.
Phase
~T
Routine/Subroutine Directory
r-------------------T--------------------------------------------------------------------,
I Routine/Subroutine I
Function
~------------------+--------------------------------------------------------------------~
CARDOU
EOBRTN
FINEQl
GNTXT
IL0002
Scans text.
IL0003
IL0010
Initialize~
ILOOll
IL0012
IL0013
rou~ines.
~~
81 tyr-e.
IL0014
IL0015
IL0016
IL0017
End-af-text routine.
IL0019
IL0020
IL0022
End-of-block routine.
IL0027
IOFFSET (TU)
I
IPUNCHT
Punches cards ensuring that RLD cards
follow related TXl card.
L __________________ __________________________________
_________________________________
_
~
325
Table UA.
r-----------------------------------T---------------T------------------------------------1
I
I
IMain Processingl
I
Routine
1
Subroutines Used
~-----------------------------------+---------------+- -----------------------------------f
~-----------------------------------+---------------+- -----------------------------------1
IUA200
ITXT~OV
~-----------------------------------+---------------+- -----------------------------------1
IUA220
IRLD~OV,
TXTMOV
.-----------------------------------+---------------+- ----------------------------------~
IUA230
I TXTMOV
~-----------------------------------+---------------+- -----------------------------------/
IUA010
.-----------------------------------+---------------+------------------------------------1
IInitializes symbol table entries
IUA080
IRLD~OV,
TXTMOV
~-----------------------------------+---------------+- -----------------------------------1
IUA403
I
IRLD~OV,
TXTMOV
I
I
.-----------------------------------+---------------+------------------------------------1
.-----------------------------------+---------------+- ----------------------------------~I
IRLDNOV, TXTMOV
I
IRLD~OV,
il
.-----------------------------------+---------------+- ----------------------------------~I
TXTMOV
.-----------------------------------+---------------+- ----------------------------------~
r-----------------------------------+---------------+-----------------------------------11
argument lists
lIInitializes
___________________________________
326
IUA025
_______________
IRLD~OV,
TXTMOV
_ __________________________________
J
Table UAl.
Phase UA Routine/Subroutine
Dir~ctolY
r-------------------T--------------------------------------------------------------------,
I Routine/Subroutine I
Functlcn
I
~------------------+--------------------------------------------------------------------~
OUTPUT (UB)
RLDMOV (UB)
I
I
TXTMOV (UB)
UAOOOO
UAOOl
UAOOl5
UAOlO
UAOl3
UAOl4 (UC)
UA02l
UA0215 (UC)
UA025
UA033
UA080 (UC)
UAI00 (UC)
UAI00A
UA200
UA220 (UC)
UA225 (UC)
UA230 (UC)
UA401
UA403
UA404
UA405
UA406
IUA407
IUCINIT (UC)
IUCUPDT (UC)
IUC0080 (UC)
ITIDY
(UC)
L
__________________
I
I
I
I
I
I
I
327
.Table UD.
Pha~e
r-----------------------------------T---------------T------------------------------------1
IMain Processing 1
1
statement or Operation Type
1
Routine
1
Subroutines Used
1
~-----------------------------------+---------------+- -----------------------------------,
IA1
IAUTO
~-----------------------------------+---------------+- -----------------------------------1
IDAT,LAB,STRUC
~-----------------------------------+---------------+- -----------------------------------1
IDATLAB
I
ITXTMOV(UB),RLDMOV(UB)
I
I
I
~-----------------------------------+---------------+- -----------------------------------1
structures
1
L ___________________________________
ISTRUC
ITXTMOV(UB),TLD~OV(UB)
1
I _______________ I _ __________________________________ .1I
r------------------T---------------------------------------------------------------------.
1 Routine/Subroutine I
Function
~------------------+---------------------------------- ----------------------------------i
IA1
1 AUTO
IDATLAB
I
i~ems
ISTRUC
1
IUDOOO
lIUDEND
__________________
328
and labels.
I
I
I
I
I
I
IReleases
control.
__________________________________
__________________________________ JI
r-----------------------------------T---------------T-----------------------------------,
I
I
IMain Processing I
I
Routine
I
I
I
Subroutines Used
.-----------------------------------+---------------+- ----------------------------------~
IUA~OC,
UA220, UA230
.'-----------------------------------+---------------+ -----------------------------------~
IInitializes
I nal strings
dop~
IRLD~OV
I
I
.'-----------------------------------+---------------+ ------------~----------------------~
IRLDMOV (UB),
I
TX~MOV
I
I
(UE)
.'-----------------------------------+---------------+-----------------------------------1
IInitializes dope vectors for arrayslUA340
lof varying strings
I
ITXT~OV
I
I
~-----------------------------------+---------------+- ----------------------------------i
IRL0~OV
(Ub), TXTMOV
I
I
(UE)
~------------------------------------+---------------+ -----------------------------------i
IIni~ializes
IInitializes structures
IUA04G
ITXT~OV (UB),
(Ue)
I TI;)Y
.------------------------------------+---------------+ -----------------------------------~
IUA100
I
I
.------------------------------------+---------------+-----------------------------------i
IInitializes CSECT for STATIC
lexternal variables
IUA1005
I
I
I
~-----------------------------------+---------------+- ----------------------------------i
ter~inates
IUA120
I
IOUTPUT (UB)
I
I
~------------------------------------+---------------+ -----------------------------------1
IUCINIT (UC)
Dir~ctories
329
r------------------T--------------------------------------------------------------------,
I Routine/Subroutine I
Functicn
~------------------+--------------------------------------------------------------------~
I AREA
I
I EVENT
I
I TASK
I
IUAOOO
UAOOl
UAOO15
UA003
Scans STATIC chain to initialize all dope vectors for internal variables.
UA021
UA030
Initializes arrays.
UA031
UA033
UA034
UA040
Initializes structures.
UA100 (UC>
UA105
UA120
UA200
UA207
\UA300
UA320
UA340
UA360
UA365
UA401
UA406
UA1005
l __________________ L ____________________________________________________________________ J
330
Table UF.
r-----------------------------------T---------------T-----------------------------------,
IMain Processingl
I
I
statement or Operation Type
I
Routine
I
Subroutines Used
I
~-----------------------------------+---------------+-----------------------------------~
IScans Text
IIL0002
INone
I
t-----------------------------------+---------------+ -----------------------------------~
ILists RR instructions
IIL0012
IPRINIT, RRRTN
I
~-----------------------------------+---------------+-----------------------------------~
ILists RX non-branch instructions
IIL0013
IBX~~N, PRINIT, FRNTOU, PRNTVF,
I
I
I
I
ISECCND
t-----------------------------------+---------------+- ----------------------------------~
ILists SS instructions
IIL0014
I EOBkTN, PRINIT, PRNTOU, SSRTN
I
~-----------------------------------+---------------+-----------------------------------~
ILists shift instructions
IIL0026
IPRINIT, PRNTOU, PRNTVF
I
t-----------------------------------+---------------+ -----------------------------------~
IIL0020
I
IIL0013,
NA~EIT,
NAMEQU,
PRINIT~
IRR~~N
I
I
t-----------------------------------+---------------+-----------------------------------i
ILists labels
IIL0019
INA~EVF, NEXTEL, NEXTSL,
I
I
I
I
IPRNTLC, PRNTOU, PRNTVF, STATMN
~------------------------------------+---------------+-----------------------------------~
ILists procedure names
IIL0010
INAMEVF, NEXTEL, PRNTOU, STATMN
I
t------------------------------------+---------------+ -----------------------------------~
IILOOll
~------------------------------------+---------------+-----------------------------------~
I SECOND
I
I
I EOLBTN
I
I
I
I
t-----------------------------------+---------------+- ----------------------------------~
IPRN1LC
I
I
I
I
I
~-----------------------------------+---------------+- ----------------------------------i
IPRNTVF
I
IPRNTOU
I
I
t-----------------------------------+---------------+- ----------------------------------~
331
Table UF1.
r------------------T--------------------------------------------------------------------,
I Routine/Subroutine I
Function
I
~------------------+--------------------------------------------------------------------~
ABSOFF
Appends literal offsets to operands in variable part of print line.
ADDEND
BXRTN/SSRTN
CHARVF (UG)
DECINT (UG)
EOBRTN
Chains
FINEQl
HEXINT (UG)
ILOOOO
ILOOO2
Scans text.
ILOOO3
ILOO1O (UG)
ILOOll (UG)
ILOO12
Lists RR instructions.
ILOO13
~o
Lists S8 instructions.
IILOO14
IILOO15
IILOO16
I
IILOO17 (UI)
IILOO18
ILOO19 (UG)
Lists labels.
ILOO20
ILOO26
ILOO27
ILOO28
Lists S1 instructions.
ILOO32
ILi003 (UG)
IL2005
Identifies operands.
NAMEIT
NAMEQU
NAMEVF (UG)
INEXTEL (UG)
L __________________
332
dic~ionary
entry.
I
I
I
I
I
Scans
dictionary for wultiple entry labels.
I
__________________________________ - - - - - - - - - _________________________,J
Table UF!.
r------------------T--------------------------------------------------------------------,
!Routine/Suoroutinel
Function
~------------------+--------------------------------------------------------------------~
NEXTSL (UG)
NM0003 (UH)
PRINIT (UG)
PRNTLC (UG)
routi~e.
~Converts
Prints a line.
PRNTVF (UG)
RRRTN
Generates
SECOND
STATMN (UG)
PRNTOU (UG)
STATNO (UG)
L __________________
I
I
I
I
R~
~rint
line.
Converts
statement number to decimal.
__________________________________
__________________________________ J
333
Table XA.
r-----------------------------------T---------------T-----------------------------------,
,
I
,Main Processing,
I
Routine
I
Subroutines Used
I
I
~-----------------------------------+---------------+-----------------------------------~
Table XA1.
r------------------T--------------------------------------------------------------------11
I Routine/Subroutine I
Function
!
~------------------+--------------------------------------------------------------------~
IXA
IDeterrrines whether error rressages are to be printed.
~
IXAO
IXAOl
IXAl
IXA2
XA4
XA7
XA8
XA9 (XB)
XA12A
XA30 (Xb)
XA32
(XB)
XA35 (XB)
XA40 (XB)
XASO
(AB)
XA70 (XB)
XA90 (XB)
XA110 (XD)
IZUPL
l __________________
334
I
!
I;
I
I
I
__________________________________ __________________________________ J
BC
BC,BE,BF
PHYSICAL
PHASE
MODQLE
BG
bG,EI,BJ
LtI,PN
Error
phase
BC,I::V
contain the
n'essas:;es
DESCRIP'TION
----.------
P,A
Controls
cOITipiler
}\B
AC
Writes
records
interroediate
SYSUT3
Au
PerforITis
interphase
dumping as specified in
the DUt-~F option
AE
AF
AG
running
of
BW
el,
Read-In
routines
r.:;hase
cowmon
CC
Read-In
routines
rhas::
corrrron
CE
Keyword tatles
CG,CI
Read-In pass 1
CK
Keyword tatles
CL,CM
Read-In
eN
Keyword tatles
CO,CP
Read-In pass 3
CR
Keyword tatles
CS
CS, C'I'
Read-In pass 4
CV
CV,CW
Read-In pass 5
ED
Initialization,
sutroutine package
Declare Pass 2
CI
Format annotated
tiona:ry dump
dic-
AI,AJ
Format
dump
text
annotated
Closing phase
piler
AL
of
corr.-
AM
Phase rrarking
AN
Controls
normal dictionary compilation
BX
JZ
AS
AV
CL
CO
AK
48-character set
rocessor
Build~3
second
phase directory
prephalf
Resident
phase
for
compile-time processor
Initialization
for cOltipile-time
essor
phase
proc-
diagnostic
Cleanup
phase
for
compile-time processor
on
file
AH
message printout
lED
I
I
r:-
ass L
for
EG
EE,EG
Initialization
EI
bfl,EI,EJ
EL
EK, f..L,
Second
pass
over
DECLARE statements
EP
EP
El\~
DECLA~E
Constructs
dictionary
entries for PROCEDURb,
ENTRY and CALL stat::rr.ents
~odules
335
I EW
EY
EV,EW
EX,EY,EZ
Constructs
dictionary
entries for LIKE attributes
Constructs
dictionary
entries for
ALLOCA~E
and
for
explicitly
qualified based variables.
IIA
IA,IB,IC
Stacks operators
operands
IIG
IG
Processes
array
and
structure arguments and
built-in functions
IlL
I
IL
IIfVi
1M, IN,
IP,IQ
FA
FA,FB
Checks
context
source text
FE
FE,FF
Changes
BCD to dictionary references
FI
FI
E'K
FK
Rearranges attributes
FO
FO,FP
Constructs dictionary
entries
for
ONconditions
l~ggreg~~~~_~2gica1_Eh~~~
of
lIT
I
IIX
IJD
FQ
FQ
Checks
validity
PICTURE chain
of
and
Evaluates
expressions
JD
constant
IJI
I
,J1, JJ
Structure
pre-preprocessor
IJI
JI,JK,JL
Structure preprocessor
JK
JK,JL,JM
Structure procEssor
JP
JP
FT
FT,FU
Dictionary
house-keeping
FV
FV,FW
Merges
second
file
statements into text
E'X
FX,FY
Processes
identifiers
for cross reference and
attribute listing
LA
LA
LB
LB,LC
Generates
triples to
initialize
AUTOMATIC
and CON~ROLLED scalar
variables
LD
LD
Constructs dictionary
entries for initialized
STATIC scalar variables
and arrays
LG
LG,LH
Expands DO loops
GA
GA
GB
GB,GC
GK
GK
GO
GO
LR
LR
Initialization
Phase LS
GP
GP,GQ,GR
Second
eters
LS
LS,LT,LU
Converts
expression
triples to pseudo-code
GU
GU,GV
Precesses CHECK
tion statements
LV
LV
Provides string
dling facilities
HF
HF,HG
Processes
assignments
ILW
LW
Initialization
phase LX
LX,LY
MC
Constructs pseudo-code
for pseudo-variables
I HK
i.-iP
check on pararr.condi-
structure
HK,HL
ILX
HP
MB
IMD
336
IvlE,
Scans
for
ADDR
o:r
hanfo:r
func-
tions
and
generates
code for each
OP,OQ
GeLerates
pseudo-co6e
for
further
in-line
conversicns
OS,O'1',OU
converts constants to
required internal form
PA
Puts
eligible
into STA'IIC
PD
.PD
First
S'IATIC storase
allocation phase
PH
PH
PL
PL, PJVj
constructs
tables and DEDs
PP
PP
Sort~3
, P'I'
prI, PU, PV
Allocates
storage
lOP
,
I
constructs pseudo-code
for in-line functions
ME
MI
LvlK
ML
MG,MH
constructs pseudo-code
for in-line functions
MI,MJ
constructs pseudo-code
for in-line functions
constructs [seudo-code
for in-line functions
M.K
OS
,FA
ML
MM,MN,MO
Cl\LL
and
Processes
procedure
function
invoca.tions
AU'IOEATIC chain
Reorders BUY
statements
MS
MS, rJ1T
constructs pseudo-code
for subscripts
QF
QF,(!G,QH
Constructs prologues
Nl\
NA
Generates
pseudo-code
for
tranches,
RETURN
triples, etc.
IQJ
QJ,QK,QL
~QX
~A
NJ'
NT
OB
NG
NJ,NK
SELL
sYIT,bol
MP
NG
and
DSA's
NM,NN
NT
Pre-processor for NU
NU,NV
OB,OC
Proce~3ses
functions
variables
OE
OD,OE,OF
constructs Pseudo-code
for assignments
OG
OG,OR
Generates
library
calling sequences
OM
Ol~,
ON ,00
Generates
pseudo-code
for data type conversions in-line
KA,RB,RC
ProcE~sses
addressing
mechanisms
RF
~~l',f<G,RH
TF
'Ii'
TJ
TJ,TK
Optirrizaticn
TO
'10, TP, TQ
TT
T'I,'IU
UA
UA,UB,UC
,,IUD
Ur,UB,UC
IUE
UE,UB,UC
UF
UF,UG,UH
Produces listings
lUI
Ul,UG,UH
Completes final
bly listings
compiler
and pseudo-
Pseudo-code assignment
OD
IRA
AUTOMATIC
assem-
337
XA
XA
XA,XB
338
Deterrrines
whether
there
are diagnostic
messages to be printed
constructs
phase list
the
third
'AA,XC
Controls the
of messages
}"F
XG,YY
printing
339
L-
L_AD
BX AG
-.,
-.,
-,
L-
AD
GPGQGR
NMNN
)~
GUGV
NT
)(Q
)lli..
HF HG
NUNV
AE
HKHLHM
OBOC
)~
BM BN BOBR
HP
OD
)<T
BS
IA IB IC
OE OF
8T
IG
OGOHOI
)~
BU
IK IL
OMONOO
)(W
BV
BWAG
CACC
AE
CE CC CI
IT
)~
OSOTOU
~1...
PA PD_
YQ
PH
'Cf.
CKCL CM
IX
PL PM
CN CO CP
JD
PP
CR
JI JJ
PT PU PV
JL JM JI
QFQGQH
-----ui
QJQK
JP
QU
EF EG ED
JZ
QX
EH EI EJ
LA LB LC
RA RB RC
EK EL EM
LD
RF RG RH
EP
LG LH
TF
EV EW
LR
TJ TK
EX EY EZ
LS LT LU
TO TP TO
FA FB
LV LY
TT TU
FE FF
LW LX
FI
MB MC
FK
MD
FO FP
ME MF
FT FU
MI MJ
FV FW
MK
XC XF
FX FY FZ
ML
XG
UB UC UA
UD
UEUD
UF UG UH
Ul
XA XB
GA
MM MNMO
XH
GBGC
LV MP
XI
GK
>~
OPOQ
MG MH
340
AD
LA LV
GO
MS MT
XJ
NA NB
XK
NGNH
XL
NJ NK
XO
r--------,
I
I
I I
CA
I I
I
Il _________ JI I
I
r---------, I
Il _________
cc
JI I
I
------------T--------------T--------------T--------------T-----------r--------,
CE
l ________
J
r--------,
I
I
I
CG
I
lI ________ JI
r--------,
r--------,
CK
L _________
J
r--------,
!
I
I
CL
I
!l ________ JI
r---------,
r--------,
CN
l ________
J
r--------,
I
I
I
co
I
Il ________ JI
r--------,
I
I
CI
I
I
Il ________ JI
!
I
I
Cr-"
I
il ________.JI
I
I
I
CP
I
Il ________ JI
Pass 1
Pass 2
Pass 3
Figure 8.
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
r--------,
Il ________
CR
JI
r--------,
I
I
CS
I
j
lj ________ J
r--------,
r--------,
CR
l ________
J
r--------,
I
I
I
CV
I
Il ________ JI
r--------,
I
I
I
C'I'
I
Il ________ JI
I
I
CW
I
I
Il ________ JI
Pass 4
Pass 5
341
r------,
r-------------i
R(A) I
~------i First Level
I
I
r-i R (B) I Directory
I
I ~------i
I
I I R(C> ~--,
I
I ~------~ I
I
I I
I I
I
I I
I I
I
I
I
I
I
I
I r------, I r------, I r------,
Al>1
I Bl>1
I Cl>1
I Second
~------~
~------~
~------~
Level
tory
I Direc-
~------~
~------~
~------~
I
I
I
I
I
I
I
I
~------~
l ______ J
~------~
keyword in internal
code
~------~
~------~
.Figure 9.
FS~LVL)
Kor~~~_2K_gD~~Y-B~gui~iD9_~gQi!i2Dal
Q!N:arisoD.
DC X'9726' GO +
~'1000'
DC X'40'
STATID DC FL2'm' where m is smallest
length in table
DC FL2'n' where n is largest
length in table
DC AL2(STLm-STATID)
DC
342
where the
symbols beginning STL are
the s~mbolic addresses of
the corresponding keyword
tables
AL2(STLn-S~ATID)
1.
LIST
1. not wanted
o wanted
LOAD
DECl,
1. not wanted
o wanted
1. not wanted
o wanted
5
E:XTF<-EF
1. not want,ed
wanted
XREF
1. not wanted
A'IK
1. not wanted
Q~~ati~~~~~.!!!L-f2~!roJ-R~Qgra~_.~vif~~,
o wanted
Form C28-6541.
1.
o wanted
1. means U-format
o rreans }-forrnat
records on input
1 if track overflow
is presE'nt
Byte Number
1 -
3
4
severity
severity
Severity
Severity
where
Phase name
St.atus byt,e
3
4 -
concatenation
number
Library identification
6 -
9 -
10
Total
amount
required
of
and
()
DUMP
1. wanted
o not wanted
CHAR 48
1 not wanted
o wanted
MACkO
1 not wanted
o wanted
SOURCE
1 not wanted
o wanted
CHK
1 not wanted
o wanted
BCD
1 BCD input
o EBCDIC input
SOUKCE2
1. wanted
storage
11 - 1.2
code
code
cede
code
OOOO=FLAGW
0001.=FLAGE
0010=FLAGS
opr
not wanted
1. wanted
o not wanted
343
1 AE required
1 program check
has occurred
STIV1T
1 not wanted
0 wanted
MACDCK
1 not wanted
0 wanted
COMP
1 not wanted
0 wanted
1 rtacro phase now
running
1 batch record found
0 batch record not
found
5
NEST
1 wanted
0 not wanted
344
2.
Bit
Bit
posilio~ yal~~
3.
Code
bytes
entries
for
ENTRY
dictionary
o
1
4.
DATA,
LABLL,
1*
o
1
5.
o
1
6.
7.
USES
of the OFFSE1 1 and OFFSET 2
slots in DATA,
LABEL,
and STRUCTURE
dictionary entries
8.
Dimension tables
lieani.!}.9
entry has ECL
entry has no BCG
entry is to be chained
entry not to be chained
not a rrEmLer of structure
merrber of structure
not dilfensioned
dimensioned
rreans
rreans
means
data variablE
label variable
structure
06
345
07
08
09
OA
OB
OC
OD
OE
OF
10
11
12
13
14
15
16
17
18
19
1A
1B
1C
1D
Label variable
File constant
Task identifier
Event variable
Data variables (not dimensioned or a
structure member)
42
43
44
45
46
47
48
49
4A
4B
4C
4D
4E
4F
80
81
82
83
84
85
86
87
1E'
1F
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
3A
3D
3C
3D
3E
3F
346
8E
8F
90
91
92
93
94
95
96
97
98
99
paramE:-t~r
9A
9B
9C
9D
9E
9F
Dimensioned
structure
Dimensioned
structure
Dimensioned
Giffiensioned
va.riable
task identifier in
AO
event variable in
A1
A2
structure item
and structured data
A3
A4
A5
A6
A7
40
41
8A
8B
8e
8D
2A
2B
2C
2D
2E
2F
88
89
ON CONDITION entry
A8
A9
AA
AB
AC
AD
AE
AF
BO
Level
count
6-7
8-9
10-11
12-13
B1
B2
B3
B4
B5
86
B7
B8
B9
BA
BB
BC
BD
BE
BF
co
C1
C2
C3
C4
C5
C6
C7
C8
C9
CA
CB
CC
CD
CE
CF
2-3
Length
14-15 I
16-17 >
18-19 I
j
of
Dictionary references to
three dictionary entries
inaicating storage requirements for workspace
20-21
Dictionary
ChECK list
22-23
Dictionary
refErence
NOCrlECK list
24-25
26-28
Size of
block
29-31
32-34
35-37
Offset
of
the
two-byte
switch which is set on entry
to a procedure and tested at
a RETURN (expression)
38-40
41-42
the
reference
DBA
for
of
of
this
347
44-57
60
61-63
64
Optimization byte
65
348
2-3
Length
Level
Count
6-7
8-9
10-12
The offset
entry point
13
of the apparent
2-3
Length
4-5
6-8
9-10
statement numl:er
11
12-13
14-16
of
1
17
Block level
18
Block count
19
20
BCD length-1
21
BCD of labl2l
~ntry
type 3 dictionary entries are
constructed either frorr an ex~licit declaration
or from implicit and default
rules. Th0ir for~at is as fellows:
2-3
Length of entry.
4-5
Dictionary
referenCe
of
entry type 1 of PROCEDURE or
ENTRY statement.
6-7
Dictionary
reference
of
entry type 2.
This describes the value returned
when the label associated
with this entry type 3 is
invoked as a function.
8-10
11
12-13
14-15
16-17
Dictionary reference of a
SETS list.
1his will be
zero if the attribute SETS
was not specified. The format of a SRTS list is given
at the end of this section.
18-19
2-3
Length.
4-5
Dictionary
entry type 3
6-8
Offset, i.e.,
the position
of the string dope vector in
the DSA of the block to
which
the entry belongs.
This will be zero if the
item is not a string.
reference
of
DATA byte
(sf;!e "DATA Byte"
in this Appendix).
10-12
13-14
349
20
21
350
2-3
Length
4-5
6-8
9-11
12-13
Th dictionary reference of
an item in the AUTOMATIC
chain
of
th~
declaring
block. Entry tyre 4 entri~s
are members of the AUTOMATIC
chain
of
the
declaring
block.
14
15
16-18
19-20
21-22
Dictionary
SETS list
23
2-3
4-5
6-5+2*nl
6+2*nl
7+2*nl
onwards
referenc~
of a
bytE-' is
is the
byte i.n
If tne
irnplit::d
25
n dictionary references to
parameter descriptions as in
an entry type 3
25+2*n
Level
26+2*n
Count
27+2*n
BCD length-1
28+2*n
onwards
BCD of identifier
des~
12+2n
Level
13+2n
count
14+2n
BCL length-1
15+2n
onwa.rds
BCD
Byte 1 is X'83'
Bytes 4 and 5 contain the address
the formal parameter type 1 entry
of
th~
entry
IRREDUCIBLE
REDUCIBLE
USES
SETS
SECONDJI.R Y
RECURSIVE
Not used
is
2-3
Length
4-5
Hash chain
6-8
Offset 1 Slot
9-10
11
12-11+2n
REENTRANT
ON Block
MAIN
TASK
RECURSIVE
351
OPTIONS
AUTO-
2-3
Length
4-5
6-S
9-10
11
12
'Variable' codE::
"Variable Byte"
Appendix)
13
(See
'Other 2'
code byte
'Second Code Byte - Other :2"
in this Appendix.)
14
(See
'Other 3' code byte
"Third Code Byte - Other 3"
in this Appendix.)
15
'Other 4 '
code byte
(Se-e
"Fourth Code Eyte
Other 4"
in this Appendix.)
Not
eliqible for
library workspace.
in
DSA
contains
Not used.
Not used.
Not used.
in
STATIC
asynchronous CALL.
byte
in
(See
this
Symbol slot
1 nyte
Level
1 tyte
count
1 byte
BCD length-l
BCD
352
Code
byte may be X'07',
X'17', X'27', X'37', X'S7',
X'97',
X'A7', A'B7'.
The
last four cases apply when
the item occurred in a parameter list in a PROCEDURE
or ENTRY statement.
In this
case,
bytes 4 and 5 will
contain the dictionary reference of the corresponding
formal
parameter
type 1
entry.
In the first four
cases,
bytes 4 and 5 initially
contain
the hash
chai~.
After t~e scan of
the dictionary,
this slot
will
De re-used to form
Length
4-5
See above
6-8
Of f set.
Se,,,,
"Format
Variable
Information"
this Appendix
9-10
22
Variable infcrrration.
The
contents of these bytes are
deterrrined by the variable
code byte.
See "Forroat of
Variatle
Information"
in
this Apr:;endix
1 byte
Level
1 byte
Count
1 tyte
BCD length-l
of
in
DECLAHE statement
number.
If the variable has not been
ex~licitly
jeclared,
this
number is zero= otherwise,
it is the statement numner
assigned to
the
DECLARE
statement from which
the
variable was obtained.
11-16
17-19
20-21
BCD
These entries do not include base elements, i.e., they do not have any data
attributes or LAB~L.
Their format is:
2-3
Length
4-5
Symbol
slot,
containing
ei t:her Z81:'0,
or one of the
following:
1. If
the SYMBOL and DED
bits are not aD, and the
data iterr has a picture,
these bytes contain the
dictionary refErence of
353
6-8
354
9-10
DECLARE number,
i.e.
the
stateroent nurrber
of
the
DECLARE staterrent which Froduced the structure
11-15
16
Variatle information.
The
content is deterrrined by the
variacle code byte, and will
always include the information required fer structure
members. Th~ format is described under
"Format
of
Variatle
Information"
in
this Appendix
After variable infcrmaticn:
byt~
Level
1 byte
Count
1 byte
BCD length-l
BCD
r-----T-------------------------------------T------------------,
I Bit I
I No. I
I
I
Description
I
I
Set Iiy
~-----+-------------------------------------+--------- ---------i
I 1
I
I
I
I 2
I
I
I 3
I
Defined on
Phase EL
Needs DVD
Variable dimensions
*
*
dimensions
string length for data item
_____
I
I
j
I
I
Phase FO
I
I
I
Various
I
I
Phases FL or LW I
I
Phase EL
I
I
Phases EL and FT I
I
Phases EL End FT I
I
Phase EG
I
I
I
Phase LY
I
I
_________ _________ JI
r-----T-------------------------------------T------------------,
I Bit I
I No. I
I
I
Description
Set by
I
I
~-----+-------------------------------------+--------- ---------i
1
Dynamically defined
Phase EL
I
2
NORMAL
Reserved
Formal Parameter
INTERNAL
'7
00
0, ABNORMAL
0, EXTERNAL
I
I
I
I
Phases EI and FT I
I
I
I
Phase EI
I
I
Phase EI
I
I
Phase EL
I
Phase EY
and
01
8
______
STATIC
11
CONTROLLED
_____________________________________
I
I
Phase EL
I
I
Phase EL _________ JI
_________
355
r-----T-------------------------------T------------------------------,
I Bit I
I No. I
Descriftion
I
set by
I
~-----+-------------------------------+------------------------------~
1
I Needs dOpE vector
I Phases EK and EY if variable
I
I dimension entries, variable
I
I string length, or in
I
I CONTROLLED storage;
I
I Phase NU when item appears
I
I in an argument list
I
I
I Needs DED
I Phase NU
I
I
I Needs no storage for the iten I Phase GP
I itself
I
I
I
Correspondenc~ defined
I Phase FV
2
3
4
5
Chameleon
Phase GP
I
I 8
IL _____
address slot
_______________________________
Phase PH
~
_______________ _______________ j
r-----T-------------------------------T--------------------,
I Bit I
I No. I
Description
I
set by
I
~-----+-------------------------------+--------------------~
1
A constant has been produced
Phase JK
I
for this structure or array
I
00
01
10
11
2
and
3
Not te:r.porary
Tempora.ry tyr:;e 2
Temporary not sold
COBOL temporary
~ember
of defined structure
Phase FV
Packed
Phase EL
PhasE l.L
Phase GP
Phase Of
I
I 7
I
I 8
I
I
I
I _____
L
356
0 Aligned
_______________ _____ j
I
I
I
I
I
r-----T-----------------------------------,
Description
I
I Bit I
I No. I
~-----+-----------------------------------i
r---------T---T------------T----------T---------T----- ----T---------T-------T---------,
I
I BIT
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
~---------+---+------------+----------+---------+---------+---------+-------+---------f
I CAD or I
I NUMERIC I
I FIELD
I
I POINTER/
I OFFSET *
I.
I Sterling I Long
I NON
I Short/
I S'IERLING I OFFSErr
I Cad.
I Binary I Float I Complex I 1
I NumerlC I Decimal I Fixed I Real
I 0
I Field
I
I
I
I
~---------+---+------------+----------+---------+---------+---------+-------+---------i
X'50'
superim~osed
Data
items,
labels~
and structures
require pointers to various tables if they
have certain attributes;;
for example, if
they are dimensioned or defined on a base.
Space will be left for information only if
the attribute is present. This leads to an
addressing problem of how to find the
357
presence of further information. The offset of this information from the start of
the variable information is given by the
presence of the bits to the left of the one
of interest.
Each bit will have a value
associated with it.
The sum of the values
of the bits present and to the left of the
one of interest will give the value of the
offset. This is achieved in the coding by
moving the code byte, masking off the bits
to the right of the one being tested and
the bit itself, and translating the byte.
The information produced by the presence
of the following bits in the variable byte
is as follows:
Bit number 1:
----The second offset slot is 4 bytes long.
The contents of this slot are d~scribed
in this appendix.
The decision to
include a second offset slot in a
dictionary entry is based on questions
about the nature of the identifier.
Refer to figure 9.
r-,
IYI
l_J
r-,
INI
l_J
Bit number 2:
----------The dimensioned
bit.
The slot produced
by this is three bytes long. Tne first
byte will contain the number of dimensions,
the next two the dictionary
reference of the dimension (multiplier)
table
Bit number 3:
----Member-of a structure tit.
This slot
is ten bytes long and has the following
format:
358
True level
3-4
Dictionary reference of
the containing structure
5-6
Dictionary reference of
the next merrter in the
structure
Alignment
8-10
Element length
n~mber
~.tL n U~12~f_~.!..
Bit number 5:
----The--initial value
four-byte slot.
or
The two-byte
value as a
LIKE
bit is a
2-Lyte slot
Ei!:_'!}~!!2bef_l.!..
7-byte
slot
1-2
Defined chain.
3-4
Dictionary
5-7
ref~rence
of tase
Bit number 8:
----The-CONTROLLED from ALLOCA'IE bit. This
bit is on for dictionary entries for
level 1 CONTROLLeD data specified in
ALLOCATE stat~ments. The two-byte slot
contains the dictionary reference of
the dictionary entry for the dat~ constructEd from the DECLARE statement
r---------------,
I Entry
I
L-------T-------J
I
V
r---------------,
YI Is it data
I
r--~ iteffi?
I
I
L-------T-------J
I
IN
I
V
r---------------,
r---------------,
r---------------,
I Is it formallY
r---------------,
I
I Is it strucIN
I Is it label
IN
r-,
I
I ture?
~--------->I variaole?
~-->INI
I
L-------T-------J
L-------T-------J
L_J
L_________ >I<------------------------- Y
YV
I Is it strucIN
r-,
I parameter?
~--------->I ture member?
~-->INI
l~------T-------J
A
L-------T-------J
l_J
IN
I
IY
V
r---------------,
I Is it con-
I
I
IY
I
I
~----J
I trolled?
I
L-------T-------J
IN
V
r---------------,IY
I
r-,
IYI
L_J
r---------------,IY
I Is it ex-
r-,
I Is it static? ~--------->I
~-->IYI
I
I
I ternal?
I
L_J
L-------T-------J
L-------T-------J
NI<-------------------------JN
V
r---------------,IY r-,
I
I Is it string? ~-->IYI
l--------T-------J
L_J
IN
V
r---------------,IY r-,
I Is it struc-
I ture member?
~-->IYI
l-------"T-------J
L_J
IN
V
r---------------,I Y
I
r-,
I Is it defined?~-->IYI
L-------T-------J
L_J
IN
V
r---------------,
I Is it dimenIY
r-,
I sioned?
~-->IYI
L-------T-------J
L_J
IN
V
r-l
INI
.Figure 10.
L,_J
Decision to Include a Second Offset Slot
359
Basic
elements:
--OF~~~~2---sIot
MajQf_5:!DQ_!!}inoE_~!!.~E!~~~~~
slot
veccondope
Basic elements:
OFFSETl slot contains
--offset o~virtual origin (in the case
of dimensioned ite~s) or offset of item
(when not dimensioned)
from start of
STATIC
INTERNAL
control
section.
OFFSET2 slot contains offset of dope
vector (if there is cne) from start of
STATIC INTERNAL control section
OFFSETl slot:
not used. OFfSET2 slot contains offset
of structure dope vector from point to
which pseudo register points.
(In the
case of the major structure, this value
will De zero.)
Const~!!~di!!J~nsi2~~~
as
for
STATIC
INTERNAL except that all offsets are
relative to start of DSA.
as
for
STF.TIC
~Qj~~tabl~_Qi!!Jensi2~~~
~Qj~~!~Ql~_Qim'D~i2D~~
~~~iE_ el~me~!Q~
OFFSET2
e!}!!:y~
OFFSETl slot contains offset of address slot from start
of data region. OFFSET2 slot contains
size of EXTERNAL
control
section.
(Offset
of
major
structure
dope
vector = 0.)
11
Other 1 Code
Byte
(See
"First Code Eyte - Other 1"
in this Ap~endix
12-14
15-16
17
Level
18
Count
19
20
BCD Lengt.h-1
21 etc.
ECD
E:~~~!:~Ql~ __ l.englb.!.
2-3
Length
byte
4-5
6-8
Offset
9-10
statement
number
(except
when the latel is mentioned
in an ON CHECK list,
in
which
case it gives the
chain to the label BCD dictionary entry, code
byte
X' CE')
up
to
These entries are derived froIT the PROCEDURE and ENTRY statements, and do not
contain any information other than that the
The
identifier is a formal parameter.
format is as follows:
2-3
Length
4-5
Hash chain
6-7
Level
Count
10
BCD length-l
11
BCD
BCD length-l
361
16
Level
17
Count
is
BCD length-l
19 onwards BCD
Code X'B9'
is used for file parameters
and for file temporaries.
~he
format of
the entry will be the sarre as that for
label variables.
2-3
Length
4-5
STATIC chain
6-S
OFFSET1
9-10
the
2-3
Length
4 onwards
Internally
argument
option
environrrent.
coded form
of
of
ENVIRONr-~ENT
2-3
Length
2-3
Length
4 onwards
4-5
Hash
chain,
subsequently
EXTERNAL
or STATIC chain
depending on whether FILE is
EXTERNAL or INTERNAL
6-S
OFFSETl (S~ATIC or
vector offset)
9-10
11-12
Dictionary
attributes
none)
13
2-3
Length
Dictionary
reference
environrr.ent string (zero
none)
4-5
Hash chain
DATA tyte
14-15
362
transfer
reference
entry
(zero
of
if
of
if
Data Precision*
Scale Fact:or*
Eighth bit:
1 indicates that no conversion is required.
2.
After
the constants processor the
bytes 6 through 8 will contain the
offset of the constant from the start
of the pool of constants.
If a dOfe
vector is re~uested then the offset ot
this frow the start of the constants
pool is eight less t.han that of th.2
converted constant.
3.
10
11
12
13-14
15
BCD
Notes:
1.
mean-
ing:
00 - normal
BCD constant.
The first
offset slot must be relocated by the storage allocation phase,
to contain
the offset of the converted
constant from the start of
STATIC storage, rather than
from the start of the constants pool
2-3
Length
4-5
6-8
9-10
11-12
sixth bit:
1 indicates that the constant requires a DED.
Seventh bit:
1 indicates that
constant requires a dope vector.
becoITes
the
363
13
Level
14
count
15
BCD lengt.h-l
16
BCD
The
further information
the function
the
contains
followin~
May oe
May have
argument
an
Must have
arqurr,ent
an
Is a pseudo-variable
an
array
(or
May
have
structure> as an argument,
but will return a scalar
result
~assed
13
Level
14
Count
about
as an argument
array
array
as
as
an
an
2-3
Length
BCD length-1
BCD
Dictionary entries for parameter descriptions are identical with the normal
entry for data variable, label variable u
structure,
filE,
or entry points, except
for the following details:
Hash chain contains pointer to formal
parameter type 1. After Phase FT this
pointer is moved to the bytes containing level and count
No BCD is present
364
2-3
Length
4-5
Hash chain
6-8
Offset
Library Code
identifies
the particular Library routine required
10
Not used
11-12
2-3
Length
4-5
AU'lOMATIC chain
6-8
Offset
10
Block
lev~~l
11
Block count
2-3
Length = L+13
12
4-5
contains
address of
entry in picture chain
6-8
10
P
the nurrber of digit
positions in field in nuweric picture.
11
Q
the number of digit
positions after V character
in numeric picture.
Code
X'SO'
represents 0 7
X'7F'
represents
-1, and X'81'
represents +1.
12
W -
2-3
Length
4-5
6-8
Offset
10
Block level
11
Block count
12
BCD length-l
used
as
14 onwards Picture.
~.tL Nu!!!t~!:
13 onwards BCD
De!:1:Bti.Q.!}
0 string
1 numeric
0 correct
1 error
0 not sterling
1 sterling
0 short
1 long
Not used
2-3
Length
6
0 decimal
1 binary
0 fixed
1 floating
Dictionary
bytes)
Not used
5 onwards
references
next
(2n
365
Phase
DescriBtion
2-3
Length
2-3
Length
4-5
4-5
STATIC chain
6-8
Offset
6-8
9-11
12-13
15-16
17-18
is C8 this is the
used by pseudo-code
2-3
Length
4-5
STATIC chain
6-8
STATIC offset
9-10
Assembled length
lists
2-3
Length
4-5
STA'lIC chain
6-8
Offset in STATIC
9-10
Dictionary
reference
DECLARE number
2-3
Length
4-5
AU'l'OI"lATIC chain
6-7
8-9
or
An entry for a DED is created
PL.
by
PL.
by
Phati
2-3
Length
4-5
STATIC chain
6-8
S'l'ATIC offset
9-11
Label
Actual DED
2-3
Length
4-5
DECLARE number
6-7
8-9
~~_Nu!!!bE~
Q~!:iI2!i2!!
2-3
Length
4-5
STATIC chain
6-8
Offset
9-11
Actual DED
11
2-3
Length
4-5
AUTOMATIC chain
6-8
9-10
11-12
Length of string
Q~.~!:i!i2TI
2-3
Length
4-5
STATIC chain
6-8
STATIC offset
9-12
Actual FED
1.2
varia-
367
2-3
Length
4-5
6-8
Offset
9-10
Dictionary
variable
11-18
19-20
DECLARE num:Cer
reference
Dictionary
three-oyte
tionary.
10
of
This entry is constructed for a structure which requires a dope vector descriptor.
l~i!i2~3~Y_~~~Y_i2~_~_1~1If_~~
I
This entry is made by phase PA (whenever
la block has its DSA in STATIC). The "size
lof DSA" slot (right-hand two :Cytes) in the
IEntry Type 1 is used to contain the dicItionary reference in this entry.
2-3
Length
4-5
STATIC chain
6-8
Offset
9-10
Dicti.onary
structure
11-12
Chain to
RDV
DECLARE number
13 .
1
2-3
4-5
reference
entry
of
or
6-7
8-10
11-12
13
14-16,
17-18
2-3
Length of entry
4-5
Statement number
of
the
DECLARE or other st~tement
giving rise to the second
file statement
6-7
368
Dictionary
reference of a
slot in the dic-
reference of the
19-20
Each entry containing dimension information will result in a table l:::eing set uf.
This table is shown in Figure 10.
r---~-------------T--------------------------------------T----------------,
~ode
Byte C8
Two-byte length
flag Byte
~-----------------+---------------------T------------- ---L----------------1
I Zero hyte
~-----------------L---------------------L-------------
____________________
~-----------------T---------------------T--------------~------------------i
~sed
~-----------------+---------------------+---------------------------------1
~-----------------+---------------------+---------------------------------~
~-----------------+---------------------+---------------------------------1
~-----------------~---------------------L-------------
n multipliers
~ote:
____________________
Il _________________________________________________________________________ JI
*.
Dimension Table
Final
below)
Right parenthesis
The declaration of a
variable with an
INITIAL attribute produces these entries:
The INITIAL value list contains referenIces to Second File Staterrents and dictionaIry entries which are created to correspond
Ito the value in the input text.
and perhaps
IX'Fl'
A second File Statement for any iteration
expression
contained
in the INITIAL
specification.
I
I
I
IX'F3'
I
I
I
I
IX'FS'
1
2-3
4
5
6
7 onwards
I
I
I
I
I
I
369
X'F7'
370
7.
8.
Second file staterrents, and the formats of compiler fUnctions and pseudcvariatles
9.
result
1.
2.
10.
3.
11.
4.
Triple formats
5.
6.
371
r----------T---T---T-----------T--------T----------T--------T----------,
0
I @ I # I
$
I BLANK ,
,
I
,
0,
1
.----------+---+---+-----------+--------+----------+-- ------+----------~
I
1
I A I J I
I
I
{
I DO
I
}
I
, EgUALS ,
.----------+---+---+-----------+--------+----------+-- ------+----------~
2,
2
I B I K I
S
I
'I
I --->
I
I
~----------+---+---+-----------+--------+----------+--------+----------~
3
,CILI
T
,
(I
I
I
,
.----------+---+---+-----------+--------+----------+-- ------+----------~
31
4
, M ,
U,
,CI/I'"
.----------+---+---+-----------+--------+----------+-- ------+----------~
5,
5
, E I N I
V
I
)'
I <= , > I
+
I
~----------+---+---+-----------+--------+----------+--------+----------~
61
IFIO,
.,
.----------+---+---+~----------+--------+----------+--------+----------~
7 I
7
, G I P I
X
I ASSIGN , MULTIPLE'
>=
I
/
I
I
, <
I
,
I
I
I
I
I
I ASSIGN
.----------+---+---+-----------+--------+----------+-- ------+----------~
8 I
8
, J , Q I
Y.
I
:
I
I
I REFBR
,
.----------+---+---+-----------+--------+----------+-- ------+----------~
9,
9
I I I R ,
Z
I
II
I
1,='
*
I
~----------+---+---+-----------+--------+----------+--------+----------~
A I
I
I
I PSEUDOI
%
I
I
I
1/1'
I
,
I
I
I VARIABLE
I
I
I
I
I
~----------+---+---+-----------+--------+----------+--------+----------~
B ,
"I
'I'
I
=
'PREFIX - ,
.----------+---+---+-----------+--------+----------+-- ------+----------~
, C ,
'I
I FUNCTION
It'
.----------+---+---+-----------+--------+----------+-- ------+----------~
D ,
,&
>
I PREFIX
~----------+---+---+-----------+--------+----------+--------+----------~
E I
I SUBSCRIPT
I'
LITERAL
, CONSTANT ,
.----------+---+---+-----------+--------+----------+-- ------+----------~
________
JI
IL __________ '___
I ___ I ___________ I
, ' __________ I ________
<
, __________
**
~
372
r--------T-------T----------T-------T-----'----T----------T---------T-------------,
I
I
I
IHYBRID I
I
I
I
I
o ITO
ILINE
IA
I QUAL
ISN
~--------+-------+----------+-------*---------+----------+---------+-------------i
1
I
I
I AL1Q~~TE I
I
I f~11
I
I~Ig~
I NA~E!
i FL DEC REAL
IB
I SL
I FL BIN IMAG
1~IGN_~~
I
I
~--------+-------+----------+-------+---------+----------+---------+-------------~
2 I EY
3
~--------+-------+----------+-------+---------+----------+---------+-------------i
IEB~~
Ig~TUI~~
IESQf
ISL'
~------~-+-------+----------+-------+---------+----------+---------+-------------i
4 IWHILE
~i
IP
ICHECK
ICN
~--------+-------+----,------+-------+---------+----------+---------+-------------~
I DI,ELAY I QQ~+
I ~;.~!~
I GET
~--------+-------+----------+-------+---------+----------+---------+-------------i
6 I SNAP
I COL
IR
I CL
~--------+-------+----------+-------+---------+----------+---------+-------------~
7 I
ISIGNAL
IQ~Q
1!1: DO
I~RITE!
1E.!:l!
I~~~_~Q
~--------+-------+----.------+-------+---------+----------+---------+-------------~
I
8 ISYSTEM
I
IE
I
I
INO
I CHECK
12nd LEVELl
IMARKBR
I
I
I
lEND ITDO IINTEGER
~--------+-------+----------+-------+---------+----------+---------+-------------i
9 I YiAI1:
I REY~BT I
I12Q
I E~~Q
IF
ILIST DOl
I UNL.Qf~
I EN12
.--------+-------+----------+-------+---------+----------+---------+-------------i
I
I
I
I DATA
I
I
I
I
I
I
I A ITHEN
~--------+-------+----------+-------+---------+----------+---------+-------------i
IQELA~
1!~IT._1~~1211!K
110C~~~
I REWRITE:!
~--------+-------+----------+-------+---------+----------+---------+-------------i
C
D
ICONTROL I
I VARIABLE I
I
I
I
ISN2
I
I
I
I
I
I
I ARRAY
I
ICROSS SECTION I
~--------+-------+----------+-------+---------+----------+---------+-------------i
I NULL
I~XIT
IQ~CL~R~
ILS~
12~LETE
IOPE~
~--------+-------+----------+-------+---------+----------+---------+-------------i
E I
.F
IC
IX
INO SNAP I
ISUB
~--------+-------+----------+-------+---------+----------+---------+-------------i
ILSTOR
;
I _____________
BIT CONS'IANT JI
________ I ASS!~~
_______ I __________ IfORM~I
_______ I _________ If1Q~
__________ I _________
~
Go Out Of Block
373
I 0
1
2
I 3
I 4
5
6
7
8
9
I A
I B
1 C
D
1
I
1 F
r----------T--------T--------T-------T--------------T-----------T----------T---------,
I
IFILE
I
I
I DECIMAL
I OPTIONS
I EXTERNAL
IAREA
I
~----------+--------+--------+-------+--------------+-----------+----------+---------~
I
I
I
I
I BINARY
I IRREDUCIBLE I INTERNAL
I POINTER I
~----------+--------+--------+-------+--------------+-----------+----------+---------~
I
ILIST
I
I
I FLOAT
I REDUCIBLE
IAUTOMATIC IEVENT
I
~----------+--------+--------+-------+--------------+-----------+----------+---------~
I
IEDIT
I EVENT1
I
IFIXED
IR~CURSIVE
I STATIC
I TASK
I
~----------+--------+--------+-------+--------------+-----------+----------+---------~
ITITLE
I DATA
I PRIORITY I
I REAL
I ABNORMAL
I CONTROLLEL I CELL
I
~----------+--------+--------+-------+--------------+-----------+----------+---------~
IATTRIBUTESISTRING
IREPLY
I
I COMPLEX
I NORMAL
ISECONDARY IBASED
I
~----------+--------+--------+-------+--------------+-----------+----------+---------~
IPAGESIZE
ISKI
I
I
IPRECISION 1
IUSES
I
I OFFSET
I
~----------+--------+--------+-------+--------------+-----------+----------+---------~
IIDENT
ILINE
I
I
IPRECISION 2
ISETS
1
I
I
~----------+--------+--------+-------+--------------+-----------+----------+---------~
ILINESIZE 1 PAGE
1
I
1 VARYING
I ENTRY
IINITVAR 1 1
I
~----------+--------+--------+-------+--------------+-----------+----------+---------~
1
ICOPY
I
I
I PICTURE (NUM) I GENERIC
I INITIAL
IINITVAR 21
~----------+--------+--------+-------+--------------+-----------+----------+---------~
IINTO
IKEYTO
I
I
IBIT ATTRIBUTE IBUILTIN
ILIKE
I
I
~----------+--------+--------+-------+--------------+-----------+----------+---------~
IFROM
ITASKOP
1
I
ICHAH ATTRIBUTE 1
I DEFINED
1
I
~----------+--------+--------+-------+--------------+-----------+----------+---------~
ISET
I
lIN
I
IDIMS(INTEGERS) 1
IALIGNED
I
I
~----------+--------+--------+-------+--------------+-----------+----------+---------~
IKEY
I
I
I
1LABEL
I
1PACKED
I
I
~----------+--------+--------+-------+--------------+-----------+----------+---------~
INOLOCK
IKEYFROM I
1
I
I
1 PACKED
1
I
~----------+--------+--------+-------+--------------+-----------+----------+---------~
I
1FORMAT I
1
IDIMS
I
I
I PICTURE
I
IIGNORE
NAME i I ______________
(NON-INTEGER) i IRETURNS
<CHAR)
L
__________ i ILlS
________ i I ________ i IBY
_______
_ __________ i IPOS
__________ i I _________
JI
374
r-----------T----------T---------T---------T------T----------T----------T---------,
o IBUFFERED
IMAIN
I OVERFLOW
I CONVERSION I CCNDITION I
~-----------+----------+---------+---------+------+----------+----------+---------~
1 IUNBUFFERED I
~-----------+-,---------+---------+---------+------+----------+----------+---------~
2
I
IEXCLUSIVE
I
I
I
I
I
I REENTRANT I
I
I STRINGIUNDERFLOW IRANGE
I
INAME
I
I
~-----------+----------+---------+---------+------+----------+----------+---------~
3
IKEYED
~-----------+-.---------+---------+---------+------+----------+----------+---------~
I Q ISTREAM
I SECONDARY I
I ZERODIVIDE I AREA
ITRANS~IT
~-----------+-.---------+---------+---------+------+----------+----------+---------~
5 IRECORD
I
I
I
I
I
I
I
I
~-----------+-.---------+---------+---------+------+----------+----------+---------~
I FIXED
ISEQUENTIAL I
I
I
I
I
ION-BLOCK I
ISUBSCRIPT I
I
I RANGE
ION RECORD I
6 IBACKWARDS
I
I
ITASK
I
I OVERFLOW IENDFILE
I CHECK
I
~-----------+----------+---------+---------+------+----------+----------+---------~
~-----------+-.---------+---------+---------+------+----------+----------+---------~
IDIRECT
~------,-----+----------+---------+---------+------+----------+----------+---------~
A I ENVIRONMENT I
I ERROR
lEND PAGE
I PRINT
~-----------+-.---------+---------+---------+------+----------+----------+---------~
~-----------+-----------+---------+---------+------+-- --------+----------+---------1
I INPUT
~-----------+----------+---------+---------+------+----------+----------+---------~
C IOUTPUT
IFINISH
IKEY
I NOCHECK
~-----------+----------+---------+---------+------+----------+----------+---------~
D IUPDATE
I
E I
I
I
I
I
I
I
I SIZE
IUNDEFINED I
I FILE
I
I
I
~-----------+----------+---------+---------+------+--- -------+----------+---------i
~-----------+----------+---------+---------+------+----------+----------+---------~
r---------T-------------------------------,
I
In the statement formats in this section, the code bytes SN, SL, SL', POS, and
OB have the following meanings:
BIT
ON CONDI1ION
~---------+-------------------------------~
I
0
I OVERFLOW
I
I UNDERFLOW
I
I ZERODIVIDE
I
I
3
I FIXEDOVERFLOW
I
I
4
I SUESCRIPTRANGE
I
5
I SIZE
I
I
I
6
I CONVERSION
I
IIL _________
7
I _______________________________
STRINGRANGE
JI
I
SN
statement number
SL
statement label
SL'
initial label
POS
EEOC;12.QB_iat~!}i
OB
statement
is
375
code byte SN or SL
2-3
POS
statement terminating
semicolon
OB
PROCEDURE
Block level
Block count
8-10
PROCEDURE-BEGIN chain
11-13
DECLARE chain
14-16
ENTRY chain
Code byte SN or SL
17
2-3
POS
18 ..
OB
BEGIN
BLOCK LEVEL
Block count
8-10
PROCEDURE-BEGIN chain
11-13
DECLARE chain
14
Statement
semicolon
statement
is
a c
~)
The format
follows:
ter~inating
of an ENTRY statement is as
The format
follows:
of
an
Code byte SN or SL
2-3
POS
Code byte SN or SL
OB
2-3
POS
ENTRY
OB
6-8
ENTRY chain
Block level
10
Block count
11
12
Statement terminating
colon
semi-
Expression
The format
follows:
of
dn
IF
statement terrrinating
semicolon
statement is as
Code byte SN or SL
2-3
POS
OB
the
fol-
1.
~Y!~_~~IT.!2~.!:
IF
Expression
Code tyte SN or SL
2-3
POS
OB
ON
ON Condition
Statement or tlock
THEN
Statement or Group
ELSE - optional
Statement or Group
optional
Note: The semicolon preceding the ELSE
been deleted
has
2.
~yte !':i~mb~f
The format
follows:
of
DO
statement
Code byte SN or SL
2-3
POS
OB
DO or ITDO
CV
BKC
Squid
is as
code byte SN or SL
2-3
POS
OB
ON
ON Condition
system
DO equals
1
code byte SN or SL
2-3
POS
OB
Squid
Expression
TO
Expression
BY
ExprEssion
WHILE
Corrroa - optional,
may be repeated
Appendix D: Internal Formats of Text
377
Squid - optional,
may be repeated
2-3
POS
OB
CALL
ASSIGN
6-8
CALL chain
Expression
Identifier
Statement terminating
semicolon
10
Left parenthesis
11
Expression
12 ...
rtight parenthesis
Left parenthesis
The WAIT
format:
statement
has
Argument List
the following
Right parenthesis
1
Code Byte SN or SL
2-3
POS
OB
WAIT
Left parenthesis
Identifier
Statement
semicolon
ter~inating
Code byte SN or SL
2-3
pas
OB
GO TO
Squid
Expression - optional
Right parenthesis - optional
Comma
Further optional parentheses
and expressions
Statement terminating
semicolon
Right parenthesis
Left parenthesis - optional
Expression -
option~l
The CALL
format:
378
statement
has
the
Code byte SN or SL
~he
staterrents
Code byte SN or SL
2-3
POS
OB
SIGNAL or REVER'I
ON Condition
following
have
statement terminating
semicolon
The format of the RETURN statement is as
follows:
The format
as follows:
Code byte SN or SL
2-3
POS
OB
RE'lURN
Expression - optional
Code byte SN or SL
2-3
POS
OB
Statement terminating
semicolon
DISPLAY
Left parenthesis
Expression
Right parenthesis
Left parenthesis - optional
Squid - op1:ional
Right parenthesis - optional
Code byte SN or SL
Statement terminating
semicolon
2-3
POS
OB
Statement identifier
Statement terminating
semicolon
Code byte SN or SL
2-3
POS
OB
DELAY
Left
Expression
as
label
DECLARE
Def ri p ti 2!!
Code byte SN or SL
2-3
POS
OB
6-8
DECLARE chain
INITIAL label
parent~hesis
Right parenthesis
Statement terminating
semicolon
379
statement
semicolon
ter~inating
The
format of DECLARE
statements is as follows:
and
replaced
by
one-byte
ALLOCATE
Code byte SN or SL
2-3
POS
OB
DECLARE or ALLOCATE
6-8
Code byte SN or SL
2-3
POS
OS
OPEN or CLOSE
Declaration list
statement terminating
semicolon
Code byte SN or SL
Code byte SN or SL
2-3
POS
2-3
POS
OB
OS
FORMAT
statement identifier
Format list
Option list
Statement terminating
semicolon
380
Statement terminating
semicolon
3.
TR~~.LATOR_PHASE.
1.
r----------T--------T----------T----------T--------T--------T----------T--------------,
I
I
I
I COMPILER I
I
I
I COMPILER
I
o I DICT. REF. I FILE
1
I FUNC<I'ION
I FILE'
I FUNCTION'
~----------+--------+----------+----------+--------+--------+----------+--------------1
I COMMA
I {
I DO EQUALS I }
~----------t--------+----------+----------+--------+--------+----------+--------------4
I
2 I
I
ILlS!'
I
I
I
I
I COMPILER
I FUNCTION
I CALL
I
I FCOMMA
I
I
ILIST'
I
I
I
I
I COMPILER
I
IFUNCTION CALL"
I
I
3 I
IEDIT
I EVENT
IEDIT'
~------~---+--------+----------+----------+--------+--------+----------+--------------1
~--------.--+--------+----------+----------+--------+--------+----------+--------------4
I
4 ITITLE
I
I
I DATA
I PRIORITY
I COMPILER I COMPILER I
IPSEUDOVAR I FUNCTION I DATA'
I
I COMMA
I
'REPLY
I
I
I
I COMPILER
IPSEUDOVAR'
I
I
I
I
~----------+--------+----------+----------+--------+--------+----------+--------------4
5 IATTRIBUTES I STRING
I STRING' I
I)
~----------+--------+----------+----------+--------+--------+----------+--------------1
~
6 IPAGESIZE
I
I
ISKIP,
I ERROR
I COMPILER I
I ASSIGN
INDX
~----------+--------+----------+----------+--------+--------+----------+--------------4
7
8
9
~IDENT
I
ILINE
IBUY
I
,
,CHAMELEON IBUY ASSIGNIASSIGN
I MULTIPLE I
IASSIGN
IKEYTO
ITT
~,<
IPSEUDOVAR'
r----------+--------+----------+----------+-,-------+--------+----------+--------------4
~LINESIZE
I PAGE
I
IARCO
I DROP
ITMPD
I LEFT
10FS
I
.----------+--------+----------+----------+--------+--------+----------+--------------i
I
I COpy,
I
I II
I LD
I,=
I
*
I
t----------t--------+----------+----------+-,-------t--------+----------+--------------i
I
I
I
I
I BUYB
I
I
I
I
A IINTO
IPSEUDOVAR ICALSEQ
~----------+--------+----------+----------+--------+--------+----------+--------------1
I
I B IFROM
I
I TASK
I
lEND
I
ILIST MARK ILIST MARK I
I
IJMP
,
I
I
IPREFIX -
I
I
~----------+--------+----------+----------+--------+--------+----------+--------------1
I C ISET
IRPL
lIN
I FUNCTION
ICNVA
IRPL'
D I KEY
I Ml'l.RK
E INOLOCK
IKEYFROM ISUBSCRIPT I
I FUNCTION'
I PREF IX +
.----------+--------+----------+----------+--------+--------+----------+--------------i
I
I
I
I ARGUMENT I
I
I
I
I
&
>
.----------+--------+----------+----------+--------+--------+----------+--------------i
I
I
IDEFINED
ISUBSCRIPT I
ILITERAL IDEFINED
I
I
ICNVB
.----------+--------+----------+----------+--------+--------+----------+--------------1
I
I FORMAT I
I
I
I FORMAT I
I
I
F LIIGNORE
1
<
**
__________ LILIST
________ LI __________ LI __________ LI ________
LILIST'
________ LI __________
LI ______________
JI
381
r--------T-------T------T------T--------T---------T----------T-------------,
I TO
I LINE
IA
I
I TO'
I SN
I
I
I
~--------+-------+------+------+--------+---------+----------+-------------~
1 I ALLOCATE I
I CALL
ICALL'
IEIO
~--------+-------+------+------+--------+---------+----------+-------------1
2 IBY
I PAGE
IE
IRETURNIPROC
IBY'
ISL
.--------+-------+------+------+--------+---------+----------+-------------~
3 IFREE
IPROC'
~--------+-------+------+------+--------+---------+----------+-------------~
4 IWHILE
5
ISKIP
IP
IWHILE'
leN
IP'
.--------+-------+------+------+--------+---------+----------+-------------1
I
IDISPLAYIGOOB IBEGIN ISORT
IGET
I
IBEGIN'
I
.--------+-------+------+------+--------+---------+----------+-------------~
6 ISNAP
I COL
IR
ISNAP'
ICL
~--------+-------+------+------+--------+---------+----------+-------------1
7 I
ISIGNAL IGOTO
IITDO
IWRITE
IPUT
lEND DO
IITDO'
.--------+-------+------+------+--------+---------+----------+-------------~
8 ISYSTEM
IE
I SYSTEM' IE'
lEND ITDO
.--------+-------+------+------+--------+---------+----------+-------------~
9 IWAIT
A
IREVERT l i D O
I READ
I UNLOCK
lEND
IDO'
.--------+-------+------+------+--------+---------+----------+-------------1
I THEN
IF I G
I
I
IF'
I G'
I
I
.--------+-------+------+------+--------+---------+----------+-------------~
B IDELAY
IIF
ILOCATED IREWRITE
lEND PROG
IIF' OR ON
C ICV
ISELL
ISN2
lev'
ICROSS SECTIONI
.--------+-------+------+------+--------+---------+----------+-------------1
I
I
I
I
I
I
I
I ARRAY
I
I
.--------+-------+------+------+--------+---------+----------+-------------~
D IEXIT
E
I NULL
IBUY
IELSE
I DELETE
I OPEN
lEND BLOCK I
.--------+-------+------+------+--------+---------+----------+-------------1
I
IC
IX
I NOSNAPI
IC'
lEND PROG 2INOSNAP'
I
.--------+-------+------+------+--------+---------+----------+-------------~
F LISTOP
:
I _____________
FORMAT
________ IASSIGN
_______ IBUYS
______ I FORMAT
______ I ________ I CLOSE
_________ I __________
JI
~
382
r----------------T----T---------T---------,
II TASK
I lB I
I
I
The triples produced as output from the
translator phase each consist of
five
bytes,
an operator followed by two 2-byte
fields.
Each of the two-byte fields may be
occupied by an operand,
which may be a
dictionary reference,
a code byte or code
bytes, or a numeric parameter.
Two zero
bytes in place of a dictionary reference
operand imply that the operand is the
result of previous operations, and that its
type and location are described in a TMPD
in the text.
The number of operands and the fields
which they occupy depend upon the type of
triple.
The following table contains this
information for all the triples used in the
compiler.
r----------------T----T---------T---------,
I
I
I
I
I
ITRIPLE TYPE
IHEX IFIELD 1
IFIELD 2
I
I
ICODEi
I
I
~----------------+----t---------+---------~
I KEYED
I 03 I
I
I
~----------------+----t---------+---------~
I TITLE
I 04 I
IOPERANC
I
~----------------+----t---------t---------~
I ATTRIBUTES
I 05 I
I OPERAND
I
~----------------+----t---------t---------~
IPAGESIZE
I 06 I
I OPERAND
I
~----------------+----t---------+---------~
1IDENT
1 07 1
I OPERAND
I
~----------------+----+---------+---------~
ILINESIZE
I 08 I
I OPERAND
I
~----------------+----t---------t---------~
I INTO
I OA I
I OPERAND
I
~----------------+----+---------+---------~
I FROM
I OB I
I OPERAND
I
~----------------+----t---------+---------~
IKEY
I OD I
I OPERAND
I
~----------------+----t---------t---------~
I IGNORE
I OF I
I OPERAND
I
~----------------+----t---------t---------~
IFILE
I 10,
1OPERAND
I
~----------------+----t---------t---------~
ILIS'l'
I 12 I
I
1
~----------------+----+---------+---------~
1EDIT
, 13 ,
I
,
~----------------+----+---------+---------~
I DATA
I 14 I
I
I
~----------------+----t---------+---------~
I S'rRING
, 15 I
I OPERAND
,
~----------------+----t---------t---------~
ISKIP
I 16 I
'OPERAND
,
~----------------+----t---------+---------~
ILINE
I 17 I
I OPERAND
I
~----------------+----t---------t---------~
1PAGE
I 18 I
I
,
~----------------+----+---------+---------~
I COpy
I 19 I
1
I
~----------------+----t---------+---------~
IKEYTO
lA 1________ I OPERAND
L
________________ I ____
_________ J1
~
~~
IIRPL
~----------------t----+---------+---------~
I lC I
I
I
~----------------+----t---------+---------~
I lD ,
I OPERAND
I
~----------------t----t---------+---------~
IKEYFROM
I lE I
I OPERAND
I
~----------------+----t---------+---------~
IFORMAT LIST
, iF I
I
I
~----------------+----+---------+---------i
IUP
I 20 I
I OPERAND
I
~----------------+----+---------+---------~
I GIVING
I 21 I
I OPERAND
I
~----------------+----t---------+---------~
I DOWN
I 22 I
IOPERAND
I
~----------------+----+---------+---------~
I EVENT
I 23 I
I OPERAND
I
t----------------t----t---------+---------~
I I PRIORITY
I 24 I
I
I
~----------------+----+---------+---------i
I REPLY
I 25 I
I OPERAND
I
II IN
t~~;-~~i;~~;;~---t-;;-t----=----t;~~;i~~--1
~----------------t----+---------+---------i
IMSA
I 28 IOPERAND 110PERAND 21
t----------------t----+---------+---------~
IIMTA
I 29 IOPERAND loperand 21
~----------------+----+---------+---------~
I DEFINED
'I
I
I
ISUBSCRIP'l
I 2E IOPERAND I
I
~----------------t----+---------+---------~
INULL-FUNC~ION
I 2F I
I
I
~----------------t----+---------t---------i
I COMPILER
I
I
I
I
I FUNCTION
I 30 IOPERAND
I
,
r----------------+----+---------+---------~
I COMPILER
I
I
I
I
IFUNCTION CALL
I 32 'OPERAND
I
I
~----------------t----t---------+---------~
I COMPILER
I
I
I
,
IPSEUDO-VARIABLE I 34 IOPERAND
I
1
~----------------+----t---------+---------~
I BUY ASSIGN
I 37 IOPERAND 110PERAND 21
r----------------t----+---------+---------i
I ARCO
I 38 I
I
I
~----------------t----+---------+---------~
IPSEUDO-VARIABLE I 3A IOPERAND
I
I
r----------------t----t---------+---------~
I FUNCTION
1 3C IOPERAND
I
I
t----------------+----t---------+---------~
I SUBSCRIPT
I 3 IOPERAND I
I
r----------------+----t---------+---------~
I I NOP
1 3F 1
I
,
I r----------------+----+---------+---------~
I COMMA
1 41 I
I
*
I
~----------------t----t---------t---------1
IFUNCTION COMMA
1 42 1
IOPERAND
I
r----------------t----+---------t---------i
I COMPILER
I
I
I
I
IFUNCTION COMMA 1 44 I
IOPERAND
I
~----------------+----t---------+---------i
I ACT
I 45 IOPERAND 110PERAND 21
~----------------t----+---------t---------~
ASSIGN 1____
46 'OPERAND
110PERAND
21J
I ICOMPILER
L________________
_________
_________
~
*This triple
format lists.
may
have
two
operands
in
383
r----------------T----T---------T---------,
I DROP
I 48 I
I OPERAND
~----------------+----+---------+---------~
IASSIGN
I 47 IOPERAND 110PERAND 21
~----------------+----+---------+---------~
1CONCATENATE
I 49 IOPERAND 110PERAND 21
~----------------+----+---------+---------~
IBUY
I 4A 1
I OPERAND
.----------------T----T---------T---------,
I COMPILER
IFUNCTION CALL'
I
I
I 72 IOPERAND
I
I
I
I
I t----------------+----+---------+---------~
IMINUS
I 73 IOPERAND 110PERAND 21
I ~----------------+----+---------+---------~
I COMPILER
I
I
1PSEUDO-VARIABLE' 1 74 IOPERAND
I
1
I
I
~----------------+----+---------+---------~
~----------------+----+---------+---------~
~----------------+----+---------+---------~
t----------------+----+---------+---------~
~----------------+----+---------+---------~
I t----------------+----+---------+---------~
I MULTIPLY
I 79 IOPERAND 110PERAND 21
lOR
lAND
I NOT
I 4B IOPERAND 110PERAND 21
I 4D IOPERAND 110PERAND 21
I 4F I
I OPERAND
~----------------+----+---------+---------~
ILIST'
I 52 I
~----------------+----+---------+---------~
IEDIT'
I 53 I
~----------------+----+---------+---------~
I DATA'
I 54 I
~----------------+----+---------+---------~
ISTRING'
I 55 I
~----------------+----+---------+---------~
ISTMPD
I 56 IOPERAND 110PERAND 21
~----------------+----+---------+---------~
IPLUS
IGIVIDE
1 75 IOPERAND 110PERAND 21
1 77 IOPERAND 110PERAND 21
t----------------+----+---------+---------~
I PSEUDO-VARIABLE' 1 7A IOPERAND
t----------------+----+---------+---------~
IPREFIX MINUS
1 7E I
1OPERAND
t----------------+----+---------+---------~
1FUNCTION'
I 7C IOPERAND
t----------------+----+---------+---------~
IPREFIX PLUS
I 7D 1
I OPERAND
t----------------+----+---------+---------~
I SUBSCRIPT'
I 7E IOPERAND
t----------------+----+---------+---------~
I EXPONENTIATE
~----------------+----+---------+---------~
t----------------+----+---------+---------~
ITMPD
I 58 IOPERAND 110PERAND 21
~----------------+----+---------+---------~
IJMP
1 5B IOPERAND 110PERAND 21
~----------------+----+---------+---------~
1RPL '
1 5C 1
~----------------+----+---------+---------~
ILITERAL CONSTANT I 5E 1
I OPERAND
~----------------+----+---------+---------~
IFORMAT LIST'
I 5F I
t----------------+----+---------+---------~
I UP'
I 60 I
1
I
t----------------+----+---------+---------~
ITO
I 7F IOPERAND 110PERAND 21
I 80 1
t----------------+----+---------+---------~
I ALLOCATE
I 81 I
I OPERAND
t----------------+----+---------+---------~
IBY
I 82 I
1
1
t----------------+----+---------+---------~
I FREE
I 83 I
I OPERAND
t----------------+----+---------+---------~
IWHILE
I 84 IOPERAND
t----------------+----+---------+---------~
1 SNAP
I 86 I
IOPERAND
t----------------+----+---------+---------~
t----------------+----+---------+---------~
1DELAY
1 8B 1
1OPERAND
I
t----------------+----+---------+---------~
~----------------+----+---------+---------~
t----------------+----+---------+---------~
IDO EQUALS
I DOWN ,
I ERROR
I 61 IOPERAND lfOPERAND 21
I 62 I
I 63 I
t----------------+----+---------+---------~
I UPSIDE-DOWN
ICV
1EXIT
I STOP
t----------------+----+---------+---------~
ILINE
t----------------+----+---------+---------~
lEND ALLOCATE
I LESS/EQUAL
I GREATER/EQUAL
I 65 IOPERAND 1 I OPERAND 21
I 67 IOPERAND 110PERAND 21
~----------------+----+---------+---------~
I LEFT
I 68 IOPERAND 1iOPERAND 21
~----------------+----+---------+---------~
INOT EQUAL
1 69 IOPERAND 1iOPERAND 21
~----------------+----+---------+-----~---~
1EQUAL
I 6B IOPERAND 1iOPERAND 21
~----------------+----+---------+---------~
1GREATER
I 6D IOPERAND 1iOPERAND 21
1 8D 1
t----------------+----+---------+---------~
1
I
I
I 64 IOPERAND 110PERAND 21
I COMMA
I 8C IOPERAND 110PERAND 21
I 8F 1
t----------------+----+---------+---------~
I 90 I
I OPERAND
t----------------+----+---------+---------~
I 91 I
t----------------+----+---------+---------~
I PAGE
I 92 I
t----------------+----+---------+---------~
ISKIP
I 94 I
IOPERAND
t----------------+----+---------+---------~
I DISPLAY
I 95 I
IOPERAND
t----------------+----+---------+---------~
I COLUMN
I 96 I
I OPERAND
t----------------+----+---------+---------~
~----------------+----+---------+---------~
1SIGNAL
t----------------+----+---------+---------~
t----------------+----+---------+---------~
I DEFINED
I SUBSCRIPT'
I LESS
1
1
I 6E IOPERAND
I
1
I
1
1 6F IOPERAND 1iOPERAND 21
t----------------+----+---------+---------~
I COMPILER
FUNCTION'
lI ________________
384
I
I
I
I
70 IOPERAND
I ____
_________ I _________ JI
I 97 I
1OPERAND
t----------------+----+---------+---------~
IE
I 98 I
I REVERT
I 99 I
I OPERAND
t----------------+----+-~-------+---------~
lIF
________________
I ____
9A I _________ I _________ JI
r----------------T----T---------T---------,
Ie
I 9E I
IA
I AO I
I OPERAND
r----------------T----T---------T---------,
~----------------+----+---------+---------i
~----------------+----+---------+---------i
~----------------+----+---------+---------i
~----------------+----+---------+---------i
I CALL
I D1 I
ICLN1
I OPERAND
~----------------+----+---------+---------i
1 ~----------------+----+---------+---------i
~----------------+----+---------+---------i
~----------------+----+---------+---------i
IE
I RETURN
I A1 I
1OPERAND
I A2 I
I OPERAND
I A3 1
I OPERAND
~----------------+----+---------+---------i
IP
I A4 1
1OPERAND
~----------------+----+---------+---------i
1OPERAND
~----------------+----+---------+---------i
IR
1 A6 I
1OPERAND
~----------------+----+---------+---------i
IGO TO
I A7 1
1OPERAND
~----------------+----+---------+---------i
1GOLN
1 A8 I
1OPERAND
~----------------+----+---------+---------~
I BUYT
I A9 I
1OPERAND
~----------------+----+---------+---------i
I BUYX
I AA 1
10PERAND 21
~----------------+----+---------+---------i
IHSELL
I AB 10PERAND 1 1OPERAND 21
~----------------+----+---------+---------i
I SELL
I AC I
I OPERAND
I D3 ,
ICLN2
ICOMPILER NUMBER I D4 1
1OPERAND
I OPERAND
~----------------+----+---------+---------i
IGET
I DS I
~----------------+----+---------+---------i
ICOMPILER LABEL
,D6 I
10PERAND
~----------------+----+---------+---------i
IPUT
1 D7 I
~----------------+----+---------+---------i
IE'
, D8 I
~----------------+----+---------+---------~
I UNLOCK
I D9 I
IF'
I DA ,
~----------------+----+---------+---------~
~----------------+----+---------+---------~
I REWRITE
I DE I
~----------------+----+---------+---------~
I OPEN
I DD I
~----------------+----+---------+---------i
I c'
I CLOSE
I DF I
DE I
~----------------+----+---------+---------i
~~---------------+----+---------+---------~
~----------------+----+---------+---------i
~----------------+----+---------+---------i
IBUY
Ix
I AD I
I
AE
I OPERAND
I OPERAND
~----------------+----+---------+---------i
I BUYS
I AF I
I OPERAND
~----------------+----+---------+---------i
IPROC
I B3 I
I OPERAND
~----------------+----+---------+---------i
I BEGIN
I BS I
I OPERAND
~----------------+----+---------+---------i
IITERATIVE DO
I B7 10PERAND
~----------------+----+---------+---------i
IDO
, B9 10PERAND
~----------------+----+---------+---------i
IIF
, BB 10PERAND 110PERAND 21
~----------------+----+---------+---------i
ISN2
I BC I
I OPERAND
~----------------+----+---------+---------i
I NOSNAP
I BE ,
I OPERAND
I E1 I
I CALL'
~----------------+----+---------+---------i
I p'
I E4 ,
~----------------+----+---------+---------~
lEND PROG
I EB I
~----------------+----+---------+---------i
lEND BLOCK
I ED I
~----------------+----+---------+---------i
lEND PROG 2
I EE I
~----------------+----+---------+---------i
I F1 I
I END I/O
~----------------+----+---------+---------~
I F3 ,
/PROC'
I OPERAND
~----------------+----+---------+---------i
I FS I
IBEGIN'
I OPERAND
~----------------+----+---------+---------i
I ITERATIVE DO'
I F7 ,
'OPERAND
~----------------+----+---------+---------i
~----------------+----+---------+---------i
~----------------+----+---------+---------i
~----------------+----+---------+---------i
I FORMAT
ITO'
I BF 1
I OPERAND
I co I
I OPERAND
I C2 ,
I OPERAND
~----------------+----+---------+---------i
IBY'
~----------------+----+---------+---------i
IWHILE'
I C4 10PERAND 1 I OPERAND 21
IDO'
IIF'
I F9 ,
OR
ON
I FB I
IOPERAND
I OPERAND
~----------------+----+---------+---------i
I I PREFMT
I FD I
, ~----------------+----+---------+---------i
I FORMAT'
L
________________
I ____
FF I _________ I _________ JI
~----------------+----+---------+---------i
I WRITE
I C7 I
~----------------+----+---------+---------i
tREAD
I C9 1
~----------------+----+---------+---------i
ICV'
L
________________
I ____
CC 10PERAND
110PERAND
21J
_________
_________
385
r-----T------T-----T-----T----T----T----T----T-----T----T----T-----T----T------T--T----'
IDCVO 10SMl
IBGPE IBLBS ILCR ILCDR/LCERILM I BCTA' ILH ILA ICLI
/CLC I~R
I I
I
~-----+------+-----+-----+----+----+----+----+-----+----+----+-----+----+------+--+----~
1 IDCVi IOSM2
IEOB
ICE
ICL
IMVI
IMVC
ITR~
~-----+------+-----+-----+----+----+----+----+-----+----+----+-----+----+------+--+----~
IAH
IAL
INI
IMVN IPACK
~-----+------+-----+-----+----+----+----+----+-----+----+----+-----+----+------+--+----~
3 IDCV3 IDCA3
ISL
101
IMVO IDNPK
~-----+------+-----+-----+----+----+----+----+-----+----+----+-----+----+------+--+----~
4 IDCV4 IDCA4
IADR IRWA
IBCTRILTDRI
ISLL IBCT IME
ISTC ISSM IMVZ IIGNOREI
I
I
~-----+------+-----+-----+----+----+----+----+-----+----+----+-----+----+------+--+----~
IDCV8 IFREE
ISN3
IAPRM INR
I~M
ISTH 1ST
INC
~-----+------+-----+-----+----+----+----+----+-----+----+----+-----+----+------+--+----~
16 IDROP IBUY
ILNERILPERISRDAIO
lEX
IXI
10C
ICONV
~-----+------+-----+-----+----+----+----+----+-----+----+----+-----+----+------+--+----~
17 IEQU
I SELL
IS~D
ILNDRILPDRISRDLIX
ISTE ILA'
IXC
ICONV'
~-----+------+-----+-----+----+----+----+----+-----+----+----+-----+----+------+--+----~
8 IPROC IPROC'
IBGNP IFMT
I
ILST
ILR
I
ILD
I
ILE
I
I
I
I
I
I
I
~-----+------+-----+-----+----+----+----+----+-----+----+----+-----+----+------+--+----~
I A I PASS I ADV
I DROB' I FMT'
I AR
I AD
I AE
I AP
I CNVA
~-----+------+-----+-----+----+----+----+----+-----+----+----+-----+----+------+--+----~
B IEOP
IPLBS
ISD
ISE
liSP
ISINL
~-----+------+-----+-----+----+----+----+----+-----+----+----+-----+----+------+--+----~
C IEOP2 IPCBS
IPSLD IERRORIMR
IMD
IME
ISN2
IMP
ICNVCl I
IIGN21
~-----+------+-----+-----+----+----+----+----+-----+----+----+-----+----+------+--+----~
ID IIPRM I IPRM'
lABS
IPFMT IDR
ID
IDD
IDE
IOSM3 IDP
ICNVC2 I
IIGN41
~-----+------+-----+-----+----+----+----+----+-----+----+----+-----+----+------+--+----~
E IEPRM IEPRM'
lABS'
lAW
IAU
IEQU'
lED
IIGN~I
ICNVC3 I
~-----+------+-----+-----+----+----+----+----+-----+----+----+-----+----+------+--+----~
F LIITDO
IITDO'
_____ L
______ LIALIGNI
_____ L _____ LIBALRISWR
____ L ____ LISUR
____ LICN
____ LlEAL
_____ LICVB
____ LICVD
____ LIBSW
_____ LIEDMKICNVC4
____ L ______ LI __ LIIGN81
____ J
6.
TEXT FORMATS IN
Pseudo-code
PEU~2=f2~~
Desig~
various
pseudo-code
Th~~~=EYte __ ~Di~~
this ccnsists of a
one-byte operation code followed by a
two-byte literal offset, and it appears
immediately
after
the
symbolic
representation of the instruction to
which if refers.
Five=~yte __ uni!~
Bytes
386
r-------T-------------T-------------,
I OP
I 1
I
R2
I
I
I
Ri
I _______
CODE L _____________
0
DICT REF
L
LI _____________
JI
Bytes
L Rl, JOE+24
1
r-------T-------------T-------------,
Bytes
1
r-------T-------------T-------------,
I L
I 0
Rl
I DR (JOE)
I
I OJ?
I
I
I
I
I
R3
I
OFFSET
I
IL _______
CODE
I _____________ I _____________ JI
L _______
_____________
_____________ J
r-------T-------------,
IL _______
OSl-Jl
I _____________
24
JI
~
Bytes
1
r-------T-------------T-------------,
I OP
I
I
I
L Hl,JOECR3)
Bytes
Rl
I
R2
I
I
I
CODE
I _____________ I _____________ JI
IL_______
~
L _______
r-------T-------------T-------------,
I OP
I 1
I
R2
I
_____________
_____________ J
r-------T-------------,
IL _______
OSlV12
I _____________
R3
JI
HEX
I
I
I
I
CODE
I _____________
0
I _____________
DICT REF
lI _______
JI
~
r-------T-------------T-------------,
I L
I 0
Rl
I DR (JOE)
I
L Rl,JOE+24(R3)
Bytes
1
L _______
VariaEle~gj:~!!i!:.l
the
r-------T-------------T-------------,
I L
I 0
Rl
I DR(JOE)
I
~
_____________
_____________ J
r-------T-------------T-------------,
format of
IL _______
OSt<3
I _____________
24
I _____________
R3
JI
this is:
Bytes
1
r-------T-------------T-------------,
I OP
I
I
I
I VARIABLE
I
I
I FLAG
CODE
I _____________ I _____________ JI
IL_______
~
Alternatively, JOE might be a base register in which case the dictionary reference would be replaced by a symbolic
register. The two forms are distinguished
by setting the flag bit of the first
symbolic register equal to one when a base
register is intended.
Rl,0(R3,R2)
Bytes
1
r-------T-------------T-------------,
IL_______
L
I _____________
1
Rl
I _____________
R2
JI
r-------T-------------,
IL _______
OSM2
I _____________
R3
JI
~
Bytes
L Rl,JOE
Bytes
r-------T-------------T-------------,
Il _______
L
I _____________
0
Rl
I _____________
DR(JOE)
JI
~
r------T-------T--------T---------,
IL______
BC
I _______
01
I ________
HEX
IEQU
VALUE I
_________
~
387
Bytes
1
r------T-------T--------T---------,
I
I 1
I
I R2
I
I BC I
0
I HEX
~---------i
Il ______ I _______
0
I ________ I _________
DICT REFIJ
~
CLI EETA,X'FF'
Bytes
1
r-------T-------------T----------~--,
CLI
lI _______
The following examples illustrate the
basic forms of an RS instruction and the
way in which they are represented
in
pseudo-code:
I _____________
0
FF
I _____________
DR(BETA)
JI
CLI BETA+4,X'FF'
Bytes
1
r-------T-------------T-------------,
CLI
I _____________
0
FF
I _____________
DR(BETA)
lI _______
JI
~
BXH Ri,R2,ALPHA
Bytes
2
r-------T-------------,
Il _______
OSMl
I _____________
4
JI
r-------T-------------T-------------,
Il _______
BXH
I _____________
0
Ri
I _____________
DR(ALPHA)
JI
~
r-------T-------------,
Il _______
OSM2
I _____________
R2
JI
~
BXH Ri,R2,ALPHA+24
Bytes
2
r-------T-------------T-------------,
BXH
l _______
I _____________
0
Hi
I _____________
DR (ALPHA)
JI
r-------T-------------T-------------,
OSM3
I _____________
24
I _____________
R2
lI _______
JI
~
r-------T-------------T-------------,
Il _______
SLA
I _____________
Ri
I _____________
6
JI
~
AR Rl,R2
1
388
Bytes
2
lOP
AR
lI _______
lICODEI
____ ____
I _____________
Ri
I _____________
R2
JI
~
I
I
I
I
I
I
I
I
I FLAG I LENGTH I Fl I F2 I F3 I F4 I F5 I
r-------T-------------T-------------,
~
r----T----T------T----T----T----T----T----'
~
ALPHA+3(14), BETA(6)
Zl'.P
Bytes
Bi!:
Q~~
E.!:2
Always zero
l ___ i _____
F2=dict. ref.
F2=sym reg.
F3=dict. ref.
F3=sym reg.
F4 not present
F4 present
F5 not present
F5 present
r---T-----T----T-----T---------,
IZAPIX'10'1 10 113 5 IDR(ALPHA) I
~
r--------T----'
I DR (BETA) 1
31
l __
------i--__ J
MVC
ALPHA(6), BE1A+l1
Bytes
Not used
6-8
r---T-----T--~-T-----T---------,
lIMVCIX'08'
___ i _____
I ____
10 i I _____
5 IDR(ALPHA)
_________ JI
r--------T----'
I DR CGETA) I ____
111J
l ________
AP
ALPHA+3(14),EE1A+ll(6)
Bytes
1
r---T-----T----T-----T---------,
lAP IX'18' 1 12 113 5 IDR(ALPHA) 1
l ___
_____
____
_____ i _________ J
222
r--------T----T----'
IDR(EETA) 1
31
111
r------T------T--------T----T----'
Il ______
CONV I ______
FLAG I ________
LENGTH I ____
Fl 1____
F2 JI
~
Bot.tL~~!:2
~2~h~!2~
Always one
ALPHA(14), 11(6,Rl)
Bytes
2 and 3
Fl=dict. ref.
Fl=TMPD operand
4 and 5
F2=dict. ref.
F2=TMPD operand
6-8
Not used
l ___
_____
r---T-----T----T-----T---------,
IMVOIX'28'1 10 113 5 1DR (ALPHA) I
~
____
_____
_________ J
r--------T----'
I Rl
I 111
l ________
____ J
MVC
Bytes
1
r---T-----T----T-----T---------,
IMVCIX'OO'I
8 I 6 I DR (ALPHA) I
l ___
_____
r---'-----,
IDR(BETA)
I
l ________ J
____
_____
_________ J
Fields that may hold a dictionary reference or register nUITber have, at this
time,
the possibility of holding a literal
offset.
The presence of an offset is
indicated by the first bit of the field
being set to one, and earlier flags being
set to 'register.'
Appendix D: Internal Formats ot Text
389
Shift Instructions
Bytes
2
r------------T---------T--------,
IL ____________
OP CODE
I _________
Ri
0
I ________
OFFSET JI
~
Other Instructions
Bytes
1
r------------T---------T--------,
IL____________
OP CODE
I _________
Rl
R2 I ________
B2
JI
~
2 1 2
r------------T---------T--------,
I ____________
DIeT REFCE
L
I _________
OSM2
I ________
OFFSET JI
RR Instructions
Bytes
Bytes
r-------~-T-----------,
r---------T--------T---T------------,
IL _________
OP CODE I ___________
Ri
R2 JI
~
IL_________
OP CODE I ________
MASK
IBi
DICT REFCE JI
___ I ____________
~
r---------T--------,
I _________
OSM2
L
Bytes
1
r------------T---------T--------,
IL ____________
OP CODE
I _________
Ri
X2 I ________
B2
JI
~
212
r------------T---------T--------,
IL____________
DICT REFCE I _________
OSM2
I ________
OFFSET JI
~
I ________
OFFSET JI
Bytes
1
r---------T--------T----T-----------,
IL_________
OP CODE I ________
LENGTH I ____
Bi I ___________
DICT REFCEIJ
~
r----T-------------T------T---------,
IL ____
B2 I _____________
DICT REFCE I ______
OSMi I _________
OFFSET JI
~
r------T--------,
IL______
OSM2 I ________
OFFSET JI
~
390
with
array
bounds,
string
lengths,
DEFINING, and INITIAL value iteration factors are converted into assignments to
function references.
These functions have
a special meaning. They are not entered in
the dictionary, and their dictionary references are to a region in the communications area.
The pseudo-code physical
phase dealing with each particular function
generates in-line code instead of a function reference.
All the statements of this type are
generated in the source text after the end
of the original source program. They form
a second program and are referred to later
as the "second file."
11
12
13
14
Number
of
the dimension
whose bound is referenced
15
Right parenthesis
16
17 ..
2-3
Dictionary reference
Options byte
6 onwards
Statement body
statement
3-4
Left parenthesis
8-9
Dictionary reference 1
10
Triple
X'44'
11
operator
code
12-13
Dictionary reference 2
14
Triple
X'44'
3-4
compiler pseudo-variable
16
Left parenthesis
17-18
Offset 1
8-9
Dictionary
array
Triple
X'44'
20
10
Triple
X'44'
21
reference
operator
code
semi-
code
byte
code
cyte
391
of
operator
byte
operator
byte
22-23
Offset 2
24
Triple
X'44'
25
26
27-28
Length
29
Right parenthesis
30
Statement
colon
operator
code
byte
terminating semi-
3-4
IDV code
Compiler pseudo-variable
Left parenthesis
3-4
8-9
Dictionary reference
Compiler pseudo-variable
10
Right parenthesis
Left parenthesis
11
12
Expression
8-9
Dictionary reference
10
Right parenthesis
11
12
Expression
Statement
colon
Statement terITinating
colon
semi-
termination semi-
I
A statement is generated for a variable
Iwhich is declared BASED with its associated
Ipointer given, and for a variable which is
Ian OFFSET with its associated base given.
IThe format of the statement is similar to
Ithat of the INITIAL value statement except:
3-4
12
is
Bytes 3-4 P,Q
in one
forms:
Compiler assignment
ment marker
3-4
ADF code;
X'OOll' for base only
state-
Pseudo-variable marker
Left parent:hesis
of the following
Byte 7-8
NDX
in one of
forrDs:
the
following
Right parenthesis
Statement terminating semicolon
9.
DEQBl~!QRS -lTE~Ri----------------
By-te 2
Flag 1
Code 2
the
radix,
Strings
ways:
are
393
r-----T-----------T-----------T----------T-----------------------------------------------1
I
\
\Whether F71
I
IFLAG \
FS
F6
\ applicable I
Comments
~-----+-----------+-----------+----------+----------------------------------------------.~
X'OO' Dictionary
Yes
reference
X'02' Dictionary
No
STRUT2 output -- must SELL dictionary ref.
reference
X'04' Dictionary
No
RBPEAT function result.
reference
X'OS' Dictionary Dictionary
No
SUBSTR function result.
reference 1 reference 2
X'20' Dictionary Index
Yes
Arithmetic subscript, or SDV for varying
reference
register
string subscript.
X'41' Symbolic
Dictionary
Yes
Non-adjustable fixed string subscript, with
register
reference
DROP in STRUT2.
X'49' Symbolic
Dictionary
Yes
Non-adjustable fixed string subscript, without: \
register
reference
D~OP in STRUT2.
I
X'80' Register
No
Item in register -- F7 cannot exist.
\
X'CO' Workspace
Yes
I
offset
I
X'Cl' Workspace
Dictionary
Yes
SDV for adjustable fixed string subscript.
I
offset
reference
I
X'CS' Workspace
Dictionary
No
SUBSTR pseudo-variable result.
I
offset
reference
I
.-----~-----------~-----------~----------~----------------------------------------------~
INote~
1. Since F6 cannot be used for both an index register and a dictionary
I
I
reference, bits 2 and 7 of the FLAG byte cannot both be 1.
I
I
2. Many other bit configurations in the FLAG byte are meaningful and could
I
be used for future applications.
I _______________________________________________________________________________________
L
JI
.Figure 12.
394
b.
c.
r------T----T----T----T----'
String
length
for coded nonadjustable strings (maximum length
for varying strings)
Picture dictionary reference for
data with picture
4.
5.
I TMPD I FLAG I F2 I F3 I F4 I
.------+----~----+----~----~
I TMPD I
F5
F6
.------+---------+---------1
I TMPD I
F7
I
I
L ______
1.
_________
_________ J
FLAG describes
F6, and F7.
Bit
Numb!r
o and 1
Y.el~~
01
10
0
1
3
5
6
0
1
0
1
~i!!g
10.
00
11
0
1
2.
CODE
contains
the
data
byte
(describing type, radix, scale, mode,
etc. )
3.
F3 and F4 contain:
a. Precision
and scale factor
coded arithmetic type data
LIBRARY CALLING
SEQQ~~f~~
IPRM
L
L
1, (ARGUMENT 1)
2, (ARGUMENT 2)
L
15, IHE-------(ROUTINE NAME)
BALR14, 15
IPRM'
The second byte of the IPRM item is used
a flag byte.
The settings are as
ifollows:
~as
Bit 0
Must be zero
Bit 1
Bit 2
END
st.atement
sequence
calling
of
395
MVC
WSP (N),
PS
ADV
PS
Used
(ARGUMENT 1)
EPRM
LA
1, WSP
L
15, IHE------BALI< 14, 15
EPRM'
(ROU~INE
NAME)
in
2nd file
statements
to indicate that the
eXfression has been
calculated and that
the following code is
only concerned with
assignment
to
the
variable, or its dOfe
vector, which is the
subject cf the second
file statement
assignm~nt
ALIGN
PS
ALLOCATE
R,T,PS
Replaces the
ALLOCATE
APRl-1
PS
ARCO
T,PS
The phase in which the term or abbreviation is used is given in the second column
of the table.
The key to the code used is:
Provides
space
to
allow
insertion of
argument
conversion
triple
I AREA
PS
T
Replaces keyword
AR~A
ARGUMENT f.';ARK R
ARRAY CROSS
SECTION
R,T
ASSIGN
H,T
Used In
Term or
AbbE~:YIati2!}
Rh~~~
Desc1ptio!}
R,T
ABS
PS
Indicates the
of
absolute
(Appendix D7)
ABS'
PS
ADI
PS
Addressing
instruction
396
keyword
ASSIGN BYNAME R
ATTRIBUTES
start
code
<used
R,T
AUTOMATIC
Replaces the
AU'l'OIYjA'IIC
F,T
Bit
item
Bl\CKWARDS
Replaces
ke,yword
BACKWARDS BEGIN
string
keyword
BUYB
Marker which
indicates that workspace
is
required for a
terrporary variable of
chameleon data type
i.e.
the data type
is
taken from the
expression
assigned
to the variable
BUYS
T,PS
BY
H,T
Replaces
BY
BY'
'I
Triple
which indicates the end of a BY
expression
BY NAME
Replaces the
BY NAME
format
BASED
Replaces
BASED
BEGIN'
T,PS
BGPE
PS
keyword
BGNP
PS
BGNP'
PS
the keyword
BIT ATTRIBUTE R
Replaces the
BIT
BIT CONST
a
Marker preceding
BIT string constant
BINARY
Replaces
BINARY
the keyword
H,T
BLBS
PS
C'
Triple
which indicates the end of a C
format item
BLBS'
PS
CALL
H,T
CALL'
'I
Triple internal
to
phase IA which marks
the end of a CALL
statement
Replaces
CELL
BUFFERED
BUILTIN
Replaces
BUI:LTIN
BUY
T,PS
BUY
ASSIGNMENT
the keyword
I CELT...
I
CHAR
ATTRIBUTE
keyword
the keyword
CHAR CONSTANT R
Marker
preceding a
character string constant
CHECK
Replaces the
CHECK
CHSM
PS
A
special
offset
marker. Used only in
absolute
code
to
indicate
that
the
keyword
397
offset may
changing
require
CL
R,T,PS
CLNl
CLN2
CLOSE
R,T
Replaces
CLOSE
CN
R,T,PS
Compiler
statement
number.
Can precede
compiler
inserted
statements
CNVC1,--4
PS
Convert
compiler
t"unctions
l=Drop all registers
2=Drop target
register
3=Drop source
register
4=Do not drop register
R,T
Replaces the
COLUMN
COMPLEX
Replaces
COMPLEX
COMPILER
ASSIGN
COMPILER
FUNCTION
COMPILER
FUNCTION'
COMPILER
'I
PSEUDO-VARIABLE
CONDITION
Replaces the
CONDITION
CONTROLLED
CONTROL
VARIABLE
R,T
CONVERSION
Replaces the
CONVERSION
COpy
R,T
Replaces
COpy
CONTROL
VARIABLE'
DATA
R,T
Replaces the
DAT'A
DATA'
DCF2
PS
Causes
output
of
'ERROR STOP' and the
four bytes following
in
the pseudo-code
item
DECIMAL
Replaces the
DECIMAL
DECLARE
Replaces
DECLARE
keyword
the keyword
COMPILER
'I
FUNCTION CALL'
COMPILER
T
FUNCTION COMMA
398
the keyword
COL
COMPILER
T
FUNCTION CALL
COMPILER
T
PSEUDO-VARIABLE'
IDATA LIST LO
I
I
DEFINED
keyword
keyword
the keyword
keyword
keyword
the keyword
Replaces the
DEFINED
keyword
DEFINED
SUBSCRIPT
DELAY
R,T
Replaces the
DELAY
DELETE
R,T
Replaces
DELETE
keyword
the keyword
DIC'I'IONARY
REFERENCE
Marker indicating
that
the following
two bytes contain a
symbolic
dictionary
reference
DIRECT
Replaces
DIRECT
DISPLAY
Replaces the
DISPLAY
DO
DO EQUALS
DROB
R,T
R,T
PS
Replaces
ENDFILE
the keyword
END PROG
R,T,PS
END PROGRAlV:2
'T,PS
Triple
which marks
the end of the second
file text i.e.
rrologue initialization
text, which is placed
after the source program text
ENTRY
Replaces the
ENTFY
EPRM
PS
Indicates
of
an
library
sequence.
DiO)
EPRlVl '
PS
EQU
PS
Indicates that
the
two
byte
operand
field
contains
a
label.
'The label is
considered
to
te
attached to the following
pseudo-code
item
EQU'
PS
ERROR
Replaces
ERROR
ERROR
R,T
EDIT
R,T
Replaces
EDIT
EDIT'
1<, T
the keyword
R,T
END
R,T
R,T
END DC
of
END I'I'DO
PS
ELSE
DROP
H,T,
ENDFILE
EIO
PROCELURl;
keyword
PS
or
END BLOCK
the keyword
DROP
DRPL
BEGIN
block
Replaces the
ELSE
keyword
the start
external
calling
(Appendix
the keyword
keyword
399
ERROR
EVENT
PS
R,T
FLOAT BINARY
REAL
f<
I~dicates
the
presence of a
source
program error
FLOAT DECI~.AL R
IHAGINARY
FLOAT DECIfv;AL R
REAL
FORMAT
k,T
Replaces
FORMAT
FORMAT'
'I
Triple
which marks
the end of a
remote
format statement
FORMAT LIST
H,T
Precedes
list
FORMAT LIST'
'r
FREE
R,T,PS
Replaces
FREE
FROM
R,T
Replaces the
FHOtv'.!
FUNCTION
FUNCTION
Replaces
EVENT
the keyword
keyword
EXCLUSIVE
Replaces
EXCLUSIVE
EXIT
R,T
Replaces
EXIT
EXTERNAL
Replaces the
the keyword
keyword
EXTERN~L
R,T
Fixed
i terr,
decimal forrrat
F'
Triple
which ina~
cates the end of an F
format item
F COMMA
FILE
R,T
Replaces the
FILE
FILE'
FINISH
FIXED
Replaces
FIXED
FIX BINARY
Ir--lAGINARY
FIX BINARY
REAL
FIX DECIMAL
IMAGINARY
keyword
the keyword
format
the keyword
Replaces the
GENEHIC
keyword
keyword
GET
H,T
Replaces
GE'I
GOOE
K,T
GO TO
out of block
stateroEnt roarker
GOLN
'1'
Indicates a branch to
a label number
GOTO
R,T
GOTO in block
rrent marker
the keyword
FIX DECIMAL
REAL
FIXE:)
OVERFLOw
Replaces keywords
FIXED OVERFLOW
IDENT
R,T
Replaces
IDENT
FLOAT
Replaces
FLOAT
IF
R,T
Replaces the
IF
FLOAT BINARY
IMAGINARY
IF'
'1'
400
GENERIC
the keyword
the keyword
state-
the kpyword
keyword
IGN 2 . 8
KEYED
KEY FROM
R,T
Replaces the
IGNORE
IGNORE
PS
Pseudo-code
item
which indicates that
the number of bytes
appearing
in
the
length count must be
ignored
E,'I
keyword
LABEL
R/T
Replaces the
IN
INITIAL
Replaces
INI'IIAL
L:FFT
INITVAR
INPUT
H,T
INTEGER
INTERNAL
INTO
R,T
the
keywcrd
Triple indicating a
terrporary result for
a pseudo-variable
Replac~s
the keyword
the
keyword
LINESIZE
R,'I
Replaces
LINESIZE
LIST
.K,T
Replaces the
LI;3T
LIST'
'T
:a,T
LIST
MARK
keyword
Replaces
INPU'l
the keyword
LINE
the keyword
Replaces
KEYTO
Replaces
LIKE
keyword
keyword
Replac~s
LINE
INITIAL LABEL R
Replaces the
LABEL
LIKE
IN
keywcrd
KEYF~.OM
KEYTO
IGNORE
H,T
Replaces
KEYED
the keyword
keyword
CONS'I'ANT
Replaces
INTERNAL
LOCATE
H,T
Replaces the
LOCATE
MAIN
Replaces keyword
Ll'I'ERA.L
the keyword
Replaces the
INTO
keyword
keyword
~AIN
IPRM
PS
MUL'l'IPLE
l'lSSIGN
H,T
Marker indicating
multiple
assign~ent
(ReplaCES PL/I', ')
ITDO
R,T,PS
NAtJIE,
I'TDO'
T,PS
NDX
,-Ir;;p
KEY
R,T
keyword
Triple
indicating
during
optimization of
DO
loops
ind~xing
NEW PAGE
Replaces
NEW PAGE
the keyword
NOCHECK
Replaces the
NOCHECK
NO SNAP
R,T
Replaces
NOSNAF
keyword
the keyword
401
NOSNAP'
Triple
which
cates the end
NOS NAP list
indiof a
PCC
PS
cr
Follows a FRoe
Used
EEGIN marker.
to carry the preflx
change byte for tne
Dlock.
PS
PICTURE torrr,at
NULL
R,T
~ULL-FUNCTION
Enables TMPD's to be
passed
in text by
phases
LB
and LG
before the evaluation
phase LS
PE'MT
Replaces the
OFFSE'r
PINS
PS
PI.,3S
PS
PLBS'
PS
Replaces the
POINcrFR
PRECISICN1
.R
Indicates a precision
which has been written
in the source
program
as
'(10)',
which nay be either
fixed or float
P~ECISICN2
Indicates a precision
which has Deen writt.en
in thE sotJrce
program
as
'(5,2)'
which in'Flies fixed
OFFSET
OPEN
R,T
Replaces
OPEN
the keyword
Triple
indicating
offset used in optimization of DO loops
ON
R,T
Replaces the
ON
OPTIONS
Replaces
OPTIONS
ON RECORD
OSM1
PS
Indicates that
the
two
byte
operand
field
contains
an
index register
OSM2
PS
Indicates
that the
two
byte
operand
field contains
leteral offset
keyword
the keyword
PS
keywora
keyword
OFS
OSM3
Replaces the
PICTURE
PICTURE
preIndicates the
sence of a litEral
offset and an index
register
I POINTER
I
keyword
ReF laces
PRINT
kE:yword
Replaces
PRIORI'IY
th0 keywera
OUTPUT
PRIORITY
OVERFLOW
Replaces
OVERFLOW
keyword
PSEUDOVARIABLE
AR,T
P'
Triple
which indicates the end of a P
format item
PSEUDOVARIABLE
PAGE
R,T
'I
PAGESIZE
R,T
Heplaces
PAGESIZE
PASS
PS
POINTER Assignment
PS
PCBS
PS
the keyword
V~.RIABLE'
PSLD
402
of
use
by
the
assE:~mbly
final
listing
SECOND LEVEL
MARKER
SELL
T,PS
SET
R,'I
Replaces
SET
SETS
Replaces the
SETS
SEQUENTIAL
SIGNAL
R,T
Replaces the
SIGNAL
phal:)e
PROC
R,T PS
Replaces the
PROCEDURE
keyword
PROC'
T.PS
purr
R,T
Replaces
PUT
R,T
Remote format
ment marker
READ
R,T
Replaces
READ
REAL
Replaces the
REAL
RECORD
Replaces
RECORD
the keyword
state-
the keyword
keyword
the keyword
Repla~es
SIZE
the keyword
keyword
keyword
the keyword
8I ZE:
RECURSIVE
Replaces the
RECURSIVE
REENTRANT
REPLY
R,T
Replaces the
REPLY
RETURN
R,T
Replaces
marker
REVERT
R,T
Replaces the
REVERT
REvmITE
R,T
Replaces
REWRITE
keyword
ShIP
:H, '1'
peplaces the
SKIP
SL
H, T, PS
SN
R,'I,PS
Statement
nuwber
marker.
Precedes all
unlabelled statements
SN2
R,T,PS
keyword
keyword
statement
keyword
D. 8)
the keyword
RPL
RPL'
RWA
PS
Indication
of
an
addressing vector for
use hy the register
allocator when
the
number of
symbolic
registers
in
use
exceeds the amount of
work space which has
been allocated
SECONDARY
SN3
PS
S)JAP'
'I
'Irip1e
which
cates the end
snap list
STATIC
Replaces
STATIC
STERLING
DECIMAL REAL
~~rker
STOP
H,T
Replaces the
indiof a
the keyword
which preCdES
a
sterling decimdl
constant
keyword
8'rop
403
STREAM
Replaces
STREAM
keyword
STRING
R,T
Replaces the
STRING
keyword
STRING'
TO'
TRANSMIT
STRINGRANGE
Replaces the
STRINGRANGE
SUB
SUBSCRI P'1'
R,T
keyword
Replaces
SUBSCRIPT:RANGE
SYSTEM
R,T
Replaces the
SYSTEM
SYSTEM'
Triple which
indicates the end of a
system list
TASK
R,T
Replaces the
TASK
'IHEN
R,T
Replaces
THEN
TITLE
R, '1'
Replaces the
TITLE
'1'
Triple indicating a
temporary expression
result
H,T
Marker replacing
in the iterative
statement
TO
UNBUFFERED
404
Replaces the
UNBUFFERED
keyword
UNDEFINEDFILE R
UNDERFLOW
Replaces
UNDERFLOw
UNLOCK
R,T
Replaces
UNLOCK
the keyword
UPDATE
Replaces
UPDATE
keyword
Replaces
USES
the keyword
keyword
USNG
PS
Indicates
the presence of an assigned
register
USSL
PS
Indicates a list of
syrrbolic
registers
which need not
be
saved on branch and
branch
and
link
instructions
VARYING
Replaces
VARYING
WHILE
k.,T
Replaces the
WHILE
WHIL.2'
Triple which
indicates the end of a
wHILE ex[ression
keyword
keyword
the keyword
keyword
TO
DO
the keyword
T~~ANSMI'I
USES
SUBSCRIPT'
Triple which
indicates the end of a TO
expression
WRITE
the keyword
Replaces the
\lVRITE
keyword
keywozd
R,T
ZERODIVIDE
main
storage
Dictionary area
'Iext area
Input/Output buffers
Input/Output routines (DSAM)
The main storage required by each pnase
of the compiler need be contiguous only for
each control section.
During the read-in phases a minimum of
two dictionary blocks and two text blocks
are available in storage simultaneously.
During the rest of the compilation four
dictionary blocks and four text blocks are
available in storage simultaneously.
The dictionary and text
chosen according to the
block size is
amount of main
r-----------T---------------T-------------,
I Environment IDictionary/TExt I
Block Size
Compiler
1
,Requirements I
~-----------+---------------+-------------~
,
A
I
1K
I 44K
56K
I
I
B
,
2K
I 56K - 72K 1
1
C
I
4K
I 72K - 132K I
I
D
1
8K
1 132K - 168K 1
I
E
I
16K
1 168K
1
L___________ L _______________ L _____________ J
r----------------------T------------------------------T-------------------------------,
OS Dynamic Storage
TIOT
SPIE
LOAD
I
1
I
I
1
I
I
I
2281
321
401
228
32
40
228
32
40
228
32
40
Os Temporary Storage I
End of Volume
Data Management
Compiler Control
Phase Area
Text Area
Dictionary Area
Scratch Storage
I/O Buffers
I
1
1 800
8001
800
800
1 4894 48941 4894 4894
112266 12266112266 12266
116384 16384j16384 16384
, 2048 8192116384 32768
1 2048 8192116384J32768
1 4096 40961 40961 4096
1 1538 15381 15381 1538
I
2281
321
401
1
228
32
40
228
32
40
I
1
228
32
40
8001
800
800
800
48941 4894
4894 4894
12266112266 12266 12266
16384112288 12288 12288
655361 4096 8192 16384
655361 4096 8192 16384
40961 4096 4096 4096
15381 1538 1538 1538
1
2281
321
401
I
228
32
40
800
4894
12266
12288
32768
32768
4096
1538
I
1
BOOt
48941
122661
122881
655361
655361
40961
15381
~---~------------------+-----+-----+-----+-----+------+-----+-----+-----+------+------~
4 J1
1L ______________________
TOTALS
L14437415666217303810581411713401443741525661689501101718116725
_____ _____ _____ L _____ L ______ _____ _____ L _____ L ______ L ______
~
405
406
34
ZDRFAB
38
ZLOAm~
40
,t{EQEST
44
l{E.LESE
Releas~
48
.KLSCTL
4C
ZDUMP
50
zrrXTRF
54
Z'l.XTAB
and
3C
Hex.
Ofi.et
ZUPL
Print a line
58
ZCHAIN
ZURD
Read a card
5C
ZAL'I'BR
10
ZUGC
60
ZDABRF
14
ZUTXTC
ZNALRF
18
ZURC
Not aligned
entry.
returned
68
ZNALDE
20
ZABORT
Dump and go to
message routines
24
ZLOADW
Load
ler
6C
ZEND
Terrrinate job
70
ZULF
28
ZDICAB
74
ZUSP
Write on punch
78
ZUBW
80
RLSCTLX
dictionary
Heference
lC
2C
30
ZDICRF
ZUERR
error
407
These tables give the followinq information for each location of th~ corrmunications region: name of locatIon; offset (i.e., relative address); use (i.e.,
stages of compilation during which the location is in use); and a descriFtion of
the contents.
Certain locations are used in one capacity during part of the
compilation, and then re-usea in a different capacity during another part of the
compilation. In these cases# one location will have two table entries: details of
alternative usage appear in the columns headed Narre2, Use 21 etc.
408
r--------T--------------T----------------T---------------------------------------,
I Name
10ffset (Dec.)
Use
Description
.--------+--------------+----------------+------------ ---------------------------~
SAVEO
SAVEl
SAVE2
SAV.1:,15
ZTV
ZTRANl
ZTRAN2
ZNXTD
ZERRD
ZEBRS
ZERRW
ZERRC
ZDNXT
ZSNXT
ZWNXT
ZCNXT
ZIvJYNAM
0
ISAVEO+4
ISAVEO+8 ETC.
I
I.
I.
i.
ISAVEO+60
64
!
I
68
IZTHAN1+Q
I
76
80
ZERRD+4
ZERRD+8
ZERrtD+12
ZERRD+16
ZDNXT+4
ZDNXT+8
ZDNXT+12
112
I
I
I
I
I
I
I
I
I
I
I
I
I
I
PHASES
PHASES
PHASES
l'~LL
PH]\~3ES
ALL
ALL
ALL
ALL
PHASES
ALL
ALL
ALL
PHI~EiES
PHh~)ES
ALL
ALL
ALL
ALL
PHASES
PHAEiES
PHASES
PHASES
PHASES
PHASES
PHASES
PHASES
PHASES
PHASES
PHASES
PHASES
ALL
ALL
ALL
ALL
]I.LL
DIC'IP
ZCNCHrt
116
118
ALL
ALL
ZPROCH
ZSTAT
PA.kl
PAR2
120
124
12?
PAR1+4 ETC.
ALL
ALL
ALL
ALL
PHASES
PBAS}~S
PW\SES
PHASES
I
I
I
I
I
I ALL
PHASES
PAR1+28
PAR8
I ALL
PJ::IASES
CORLFT
160
I.KNAME
I PHASE VE
I
PHASES
172
ZOBSAD
I ALL
,]~EmJSW
176
I A.LL
I
178
I ALL
PHI-\SES
OFDNAM
I ALL
PHASES
180
SPLNAM
I
I ALL
PHASES
ZOBNUM
182
I ALL
PHASES
184
SCNOP
I ALL
PHASES
185
E:CCNF
I ALL
PHASFS
186
ZDROLF
I ALL
PHASES
P,REA
187
I
I ALL
?HASES
188
ZM91
I ALL
PHASES
189
PERRSW
I ALL
PHASES
BEI{SW
190
I ALL
PHASES
IOERSW
191
I ALL
PHASES
ZPAG.E;
1.92
I ALL
PHASES
194
ZLINE
I ALL
PHASES
1.96
ZOPT
I
I ALL
PHASES
PARMLEN
197
I
I ALL
PHl~SES
1VJ.AXFON
1.98
I
I ________
ZDICTSP ______________
200
I ________________
ALL
PHASES
L
~
Parameter word 8
Amount of core left for compilation
Member name of module produced by
compilation
Address of overflow block
Compilation terminating switch
409
r--------T--------------T----------------T---------------------------------------,
I Name
IOffset (Dec.) I
Use
I
Description
I
~--------+--------------+----------------+---------------------------------------~
ZNXTOF
204
I ALL
PHASES
Offset of next dictionary entry
I
FONOF
208
I ALL
PHASES
Offset of offset slots in dictionary i
I
block
I
FSTDRF
212
I ALL
PHASES
Dictionary ref~rence of last dictionary
I
entry
I
ERCODE
224
PHASES
Error message codes
I
I ALL
228
MCSIZE
PHASES
M/CSIZE this run
I
I ALL
CCCODE
232
I ALL
PHASES
Control card requests
HDR
236
I ALL
PHASES
Address of phase directory
240
TLR
I ALL
PHASES
Timer last read
244
TRT
I ALL
PHASES
Total run time
248
ARINT
I ALL
PHASES
Arithm~tic interrupt
BR2
252
I ALL
PHASES
Second base for control phase
256
STARTX
I ALL
PHASES
Start of tExt
DICTSZ
260
I ALL
PHASES
Dictionary block size
264
TXTSZ
I ALL
PHASES
Space available in text block
268
RDSIZE
ALL
PHASES
SIZE of read area
272
INCOD
ALL
PHASES
Interrupt code
273
ARMASK
ALL
PHASES
ArithmEtic error mask
274
LOCK
ALL
PHASES
Dictionary lock slot
276
ZNXTLC
ALL
PHASES
End of cur~ent text
ZSHIFT
280
ALL
PHASES
Number of tits in dictionary reference
offset
ZMASK
284
PHASES
ALL
Mask to remove block numbers
ZMASK1 Zr-1ASK + 2
ALL
PHASES
Mask to remove offset
ZSOR
288
PHASES
ALL
Input record source
ZMAG
290
ALL
PHASE'S
Input record margin
ZCOMr1
304
ALL
PHASES
--------~--------------~
410
r------T--------T---------------------T--------------T------T-------------T--------------,
I Dec.
I
Use
I
I
I
Use2
I
I
AppenJix F:
Co~munieations
Region
411
r------T--------T---------------------T--------------T------T------------T--------------,
I
I Dec.
I
USE'
I
I
USE 2
I
I
I Name I Offset
t----------T----------~
Start
End
Description
IName 2
t------T-----~
I Start I End I
Description 2
t------+--------+----------+----------+--------------+ ------+------+-----+--------------~
Head of COBOL I
I
structure
I
I
chain
I
IZDCOM1 ZCOMM+86 Dictionary Dictionary Latest
I
I
dict. ref.
I
IZDCOM2
+90 Dictionary Dictionary Flags for dic-I
I
tionary build I
I
interface
I
I
(8 bytes>
I
IIZDSA
ZCOMM+94
FA
UD
riead of STATIC I
DSA chain
I
II
IIZCPOFF
ZCOMM
PD
UA
Offse~ of
I
II
+100
first
I
II
constants pool I
II
within static I
IIl ______ ________ __________ __________ I ______________
internal.
I ______
I IZCOBOL ZCOMM+86
GB
JI
II
II
I~QTE:
412
~______
wi~hin
_ ____
______________ J
r--------T----------T-------T----------T------------------------------------------------,
II BYTE I OFFSET I BIT I BIT NAME. I
DESCRIPTION
I
II NAME I
I (HEX) I
I
Bits are set on, on encountering: I
I ~---------+----------+-------+----------+------------------------------------------------~
I I ZFLAG1 I ZCOMM+16 I
80
I ZDEFFL
DEFINED attrihute
I
II
I
40
I ZAWAFL
ALLOCATE statement
I
II
I
20
I ZSECFL
Secona File stat:.t"ment
I
II
I
10 I ZDIMFL
Dimension attriLutE:
I
II
I
08
ZCHKFL
CHECK/NOCHECK prEfix
I
II
I
04
ZONFL
ON, SIGNAL or REVERT statement
I
II
I
02
ZSTRF'L
Structure
I
II
I
01
ZDECFL
DECLARE statement
I
I
I
I
III ZFLAG2
+17 I
80
ZLII<:FL
LIK.b attribut,e
I
Ii
I
40
ZINTST
STATIC INITIAL
I
II
I
20
ZQ,PCFL
OPEN/CLOSE staten'ent
I
10
ZGTPFL
GET/PUT statement
I
I
I
08
ZGOTFL
GO TO statement
I
I
I
I
I
04
ZTEPFL
TASK/EVENT/PRIORITY ofticns, ~EPLY statement
I
I
I
02
ZPICFL
PICTURE attribute/format item
I
I
I
01
ZISBFL
i8Ufl defining
I
I
I
ZFLAG3
+18 I
80
ZCONTG
PACKED(NONSTRING) attrioute
I
I
40
ZSETFL
SETS attribute
I
20
ZOSSFL
DELAY, DISPLAY, WAIT statem~nt
I
I
10
ZARGFL
Arguroent list
I
I
08
ZINLFL
INITIAL Label
I
I
04
ZDIOFL
DATA directed I/O
I
I
02
ZRECIO
RECORD I/O
I
I
01
ZINTAC
AUTO/CTL initialization
I
ZFLAG4
+191
80
ZFREE
FREE statement
I
40
STM256
More than 256 statements
I
20
FILEFL
Files present
I
10
SPARE
I
08
ZPUTFL
PUT D~TA
I
04
ZGETFL
GET DATA
I
02
ZPTRFL
Pointer Qualifier
I
01
ZRODFL
STATIC DS? Fntry
I
I ZFLAG5
+20 I
80
ZFTASK
TASK/EVENT/PRIO~lTY option on a CALL
I
I
statement
II
I
L~O
spare
II
I
TO
II
01 LI __________ LI ________________________________________________ J
I L________ .LI __________ LI _______
413
APPENDIX G: SYSTEM
GENERATIO~
r---------------------------------------------~----------------------,
IEMAF
START
I
I
I
I
I
I
I
I
I
I
DC F'60'
DC F'99999'
DC F' 2'
DC F'72'
DC F'O'
r---------------------------------------------------~
DC B' 10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 '
DEFAULT
I
0 0 0 0 0 000 '
SWITCHES
I
I
r----------------------~
DC B' 10 0 0 0 0 0 0 0 0 0 0 0 0 010 0 '
DELETE
I
~----------------------------J
I
DC B'IO 0 0 0 0 0 0 0 000 0 0 000 '
SWITCriES
I
I
r--------------~
DC B'IO 000 0 000 0 0 0 0 0 0 0 0 '
I SPARE..
I
DC B'IO 0 000 000
r-------------
DC B' 10
0 0 0 0 0 0 0 0 0 010.0
0 0 0'
SWITCHES
L ______________________
_____________________
______ I
~
L ____________________________________________________________________ J
.Figure 13.
,-414
r---T---------------T---T-------------------------T---T------------------,
Parameter
IBitl
Parameter
IBitl
Parameter
I
IBitl
~---+----.-----------+---+-------------------------+---+------------------~
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
L ___
ATR
32 I OPLIST
NOATR
33 I NCCPLIST
BCD
34 I STMT
EBCDIC
35 I NOSTMT
CHAR60
36 I MACRO
CHAR48
37
NCMACRO
DECK
38
N~ST
NODECK
39
NONEST
EXTREF
40
Not used
NOEXTREF
41
Not used
FLAGW
42
Not used
FLAGE
43
COMP
FLAGS
44
NCCOMP
LIST
45
LIBRARY OPTION, RLAL
NOLIST
46
LIBRARY OPTION, COMPLEX
LOAD
47
DELETE=ATR
NOLOAD
48
DELETE=NOATR
XREF
49
DELETE=BCD
NOXREF
50
DELETE=EBCDIC
SOURCE
51 I DELETE=CHAR60
NOSOURCE
52 ~ DELETE=CHAR48
SOURCE2
53 ! DELETE=DECK
NOSOURCE2
54 i DELETE=NODECK
OPT=O
55 I DELETE=EXTREF
OPT=1
56 ~ DELETE=NOEXTREF
Used for Model 57 I DELETE=FLAGW
91 systems
58 I DELETE=FLAGE
Used for Model 59 I DELLTE=FLAGS
91 systems
60 I DELETE=LIST
MACDCK
161 1 DELETE=NOLIST
NOMACDCK
162 I DELETE=LOAD
EXTDIC
163 I GELETE=NOLOAD
NOEXTDIC
164
DELETE=XREF
_______________
___ I _________________________
.Figure 14.
65
66
67
68
(; 9
70
71
72
73
74
75
76
77
78
79
80
81
82
DELET~=NOXREF
DELE1E=SOURCE
DELETE=NOSCURCE
DELETE=SOURCE2
DFT,F:TE=NOSCURCE2
DELETE=OPT
DELLTE=LINECNT
DELETE=LINELNG
DELS~E=SIZE
DELE~E=SORMGIN
DELETE=DUMP
DELETE=STMT
DELETE-NOSTMT
DELETE=MACRC
DELETE=NOMACRO
DELETE=COMP
DELETE=NOCOMP
Used for ModEl
91 syst~ms
Used for Model
91 syst~ms
83
84
85
DELETE=MACDCN
8E
DELE~E=NOMACDK
87
88
89
90
91
92
DELET~=~XTDIC
DFLETE=PAGEC~L
DELbTE=NOEXTLIC
DELETE=OPLIST
DELETE=NCOPLIST
DELETE=NES~
0ELETE=NCNEST
bits 93-96
not useu
___
I __________________ J
Ap~endix
G: System Generation
415
ON OVERFLOW C=O;
B: BEGIN;
END;
AB:IJK: ENTRY(Y,Z)
RETURN (EXPRESSION)
END;
A
SIZDSA
STATIC
BC
DC
DC
DC
DC
STM
*
*
*
416
15,16, (0,15)
Al1(1)
CIA'
F' SIZE OF DSA'
A(STATIC CONTROL
SECTION)
14,11,12, (13)
LR
BAL
MVI
10,15
8,GETDSA(0,10)
SWITC.i-l(13),X'Xl'
BC
15,COPRAM1(0,10)
CONSTAN~S
ADPRIl'-'~
*
GETDSA
BC
DC
DC
DC
STM
15,10(0,15)
AL1(1)
eli'
A(A)
14,11,12(13)
L
LA
L
10,ADPRltJ:(O,15)
8,IP(0,10)
1.1, S'IATIC (0,10)
0,SIZDSA(O,10)
15,32, (0,11)
*
*
LOOP
IP
COPRAtJ:l
EALH
LR
LA
SR
A
ST
LA
BCT
BCR
HVI
L
ST
LA
SH
LH
ST
L
ST
L
14,15
14,13
0,7,(0,0)
15,15
14,0(0,11)
14,ADVEC+4(15,13)
15,4(0,15)
0,LOOP(O,10)
15,8
SWITCH(13),X'X2'
14,0(0,1)
14,X(0,13)
14,4(0,1)
0,10(0,0)
14,0
14,0(0,14)
14,Y(0,13)
14,8(0,1)
14,TARGET(0,13)
lO,A A(O,ll)
BAL
BCR
8 , COl-1MON ( 0 I 10)
15,10
,MVI
96(13),X'aO'
BALR
:LA
10,0
9,ADDAREACO,13)
ST
9 f ADVEC(Ov 13 )
*
I *
II ~m1MON
*
I
*
*****
*
*
*
*
*
1 L~ , PR A (12 )
l3T
LA
SR
14,92(0,13)
14, PR A (12)
14,12
14,88(0,13)
~3T
*
*****
*
*
*
eON~ROL
A~pendix
417
*
*
*
SKELETON FOR A REAL DO FE VECTOR), AND R~LOCATE THE ADDRESSES WITH THE
ADDRESS OF THE DSA FOR THOSE DOPE VECTOaS REFERRING TO VARIABLES
IN THE DSA.
*
*
*
VDAl
SR
SR
7,7
0,0
VARl
*
*
*
*
*
*
*
VAR2
VDA2
AB
*
*
*
IJK
PROBAS
*
COPRAr-~2
418
SR
LH
S'r
L
ST
L
ST
*
*
*
*
LR
LOOP
COMMON
*
*
14,0
14,O{O,14)
14,Y{O,13)
14,4{O,1)
14,ZCO,13)
14,8(0,1)
14,TARGET{O,13)
10,A ACO f ll)
14,11,12(13)
10,15
CO~PIlFD
FOR ALL
SAVE REGISTERS
SET PROLOGUE BASE
ONSTART
LOOP
F~ilogue~
419
*
I *
I *
9,ADVEC(0,13)
I*
BEND
*
*
*
*
*
*
*
In
1.
The block
recursive
must
not be re-entrant or
2.
3.
(at
any
I
The address of the Dynamic Prologue
Isubroutine and the Epilogue subroutine are
Iplaced in the STATIC internal control secItion, at offsets 40 and 48 fron the start
Irespectively.
Since the STATIC Prologue
Isubroutine always follows the Epilogue SUDI rou'tine, which is of fixed length, a
third
laddress slct is not required fer it.
DYNAMIC PROLOGUE
L
LTR
BC
L
LTR
EC
LR
SR
L
ST
ST
TN
PC
L
B
ST
L
LA
~;T
SUBROU~INE
5,PR .. IHEQLWF(12)
5,5
8,90(15)
u,PR .. IHEQINV(12)
6,6
4,90(15)
13,5
2,2
3,PR . IH~QSLA(12)
13,PR IhEQSLA(12)
3,4(13)
O(3),X'80'
1,52(15)
3,4(3)
36(15)
13,8(3)
4,PR .. IHEQINV(12)
4,,1(4)
4,PR .. DIQINV(12)
s~r
srr
ST
MVI
S'I'
BH
L
BH
4.,84(13)
2,80(13)
2,8(13)
76(13),X'OO'
2,96(13)
14
15,32(11)
15
:oR
*
*
END SUBROUTINE
STA1'IC PROLOGUE 8UEb:OUTINE
L
*
*
END SUBROUTINE
L'IR
EPILOGUE SUBROUTINE
2C
Tl'1
BC
L
L'rR
Be
C
BC
L
srr
Tl:Vl
BC
L
B
8'r
Llvj
BR
rv:VC
LA
3T
ST
rvNI
ST
LR
L
ST
ST
SF
ST
ST
ST
1(13) ,X'80'
8,60(15)
2,,80(13)
2,2
7,60(15)
13,PR IHEQSLA(12)
7,60(15)
13,4(13)
13,PR IHEQSLA(12)
0(13),X'80'
1,50(15)
13,4(13)
34(15)
2,8(13)
14,11,12(13)
1L~
BR
15, A ItlES1\FA
15
4,PR .. IHEQI~V(12)
4,4
11,86(15)
7,PR . IHEQLWO(12)
80(4,3) ,80(7)
4,1(4)
4, PH IHEQItJV (12)
1~,84(3)
76(3) ,X'OO'
3,8(13)
13,3
3,PR .. IHEQSLA(12)
3,4(13)
13,PR IHE~SLA(12)
2,2
2,80(13)
2,8(13)
2,96(13)
14
i,ND [mBROUTINE
421
(P)
The messages produced by the PL/I
Compiler are explained in the publication
IBM_System/160 O~~~!iDg_Y~!~~ __ E~~I __ lEl
'Ihe
Forn- C28- 6594.
Progr~~~r's~id~,
following table associates a message number
with the particular phase and module in
which ti1e corresponding message is generated.
Message
NumQ'~
Logical_Ebas~
L".iodul~
IEMOO01I
IEMOO02I
Read
Read
Read
Read
Read
Read
Read
Read
Read
Read
Read
Read
Read
Read
Read
Read
Read
Read
Read
Read
Read
Read
Read
Read
Read
Read
Read
Read
Read
Read
Read
Read
Read
Read
Read
Read
Read
Read
Read
Read
Read
Read
Read
Read
Read
Read
Read
Read
Read
Read
CA
CA
CA,CP
CA
CA,CL
CA
CA
CA
CA
CA
CA
CA
CA
CA
CA
CA
CA
CA
CA
CA
CA
CA
CA
CA
CA
CA
CA
CG
CA
CA,CL,CT
CC
CC
CC
CC
CC
CC
CC
CC
CC
CC
CC
CG
CL,CP
CL,CP
CO
CO
CO
CP
CC
CC
IE~10003I
IEMOO04I
IE1'10005I
IEMOO06I
IEMOO07I
IEIvlOO08I
IEMOO09I
IEIvlO010I
IENOOllI
IEl'IlOO12I
IEMOO13I
IEMOO14I
IEMOO15I
IE1'10016I
IEMOO17I
IEMOO18I
IEMOO19I
IEM0020I
IEM0021I
IEM0022I
IEM0023I
IEM0024I
IEM0025I
IEM0026I
I ElvlO 02 71
IEM0028I
IEM0029I
IEM0031I
IEMOO32I
IEM0033I
IEM0035I
IEl'IlO037I
IEM0038I
IEM0039I
IEM0040I
IEM0043I
IEM0044I
IEM0045I
IEM0046I
IEM0048I
IEMOO50I
IE[\I;0051I
IE1"100521
IEMOO53I
IEMOO54I
IEMOO55I
IEM0057I
IEM0058I
422
In
In
In
In
In
In
In
In
In
In
In
In
In
In
In
In
In
In
In
In
In
In
In
In
In
In
In
In
In
In
In
In
In
In
In
In
In
In
In
In
In
In
In
In
In
In
In
In
In
In
IE!<OO 591
IEM00601
IEM0061I
IEM0063I
IEl'(0064I
IEfvlOO66I
IEM0067I
IEM0069I
IEMOO70I
IEMOO71I
IEM0072I
IEM0074I
IEMOO75I
IEMOO76I
IEM0077I
IEM0078I
IEM0080I
IEM0081I
IEM0082I
IEM0083I
IEM0084I
IEM0085I
IEM0090I
IEM0094I
IEfvlO095I
IEM0096I
IEM0097I
IEM0099I
IEM0100I
IE1'10101I
IEM0102I
IEM0103I
IEM0104I
IEfvl0105I
IEM0106I
IEM0107I
IEMOI08I
IEZV10109I
IEMOll0I
IEMOllli
IEMOl12I
IEMOl13I
IEMOl14I
IEMOl151
IEMOl16I
IEl'I:Ol181
IEM0128I
IEM0129I
IEM0130I
IEfv'0131I
IEM0132I
IE~0133I
IEM0134I
IEM0135I
IEM0136I
IEM0138I
IEM0139I
IEbJ0141I
IEM0142I
IEM0143I
IEM0144I
IEM0145I
Read
Head
Read
Read
Read
Read
Read
Read
Read
Read
Read
Read
Read
Read
Read
Read
Read
Read
Read
Read
Read
Reed
Read
R2ad
Read
Read
Read
Read
Read
Read
Read
Read
Read
Read
Read
Read
Read
Read
Head
Read
Read
Read
Read
Read
Read
Read
Rtad
Read
Read
Read
Read
Read
Read
Read
Read
Head
Read
Read
Read
Read
Read
Read
In
In
In
In
In
In
In
In
In
In
In
In
In
In
In
In
In
In
In
In
In
In
In
In
In
In
In
In
In
In
In
In
In
In
In
In
In
In
In
In
In
In
In
In
In
In
In
In
In
In
In
In
In
In
In
In
In
In
In
In
In
In
CP
CP
CP
CO
CC
CG
CL
CG
CG
CG
CG
CG
CG
CG
CG
CG
CG
CG
CG
CG
CG
CI
CI
CI
CI
CG,CI
CI
CI
CI
CM
CI
CI
CC
CC,CG
CI,CV
CI
CI
CG,C1
CI
CI
CI
CG, Cfv:
CI
CL
CI
CL
CO
CL
CL
CO
CO
CO
CP
CP
CO
CP
CP
CP
CO
CO
CO
CO
In
In
In
In
In
In
In
In
In
In
In
In
In
In
In
In
In
IEM0146I
IEM0147I
IEIvlO149I
IEM0150I
IEM0151I
IEM0152I
IEM0153I
IEM0154I
IEM0158I
IEM0159I
Im10163I
IEM0164I
IEr10166I
1E1>101721
IEM0180I
IEIv10181I
IEM0182I
Read
Read
Read
Read
Read
Read
Read
Read
Read
Read
Read
Read
Read
I<.ead
Read
Read
Read
IEM0185I
IE1'-'10187I
IEM0191I
1EM0193I
IEM0194I
1E1'-'10195I
1EM0198I
IEIvl0202I
IEM0207I
IEM02081
IEM0209I
IEM0211I
IEM02121
IEM0213I
IEM0214I
IEM0216I
1 E11. 0 21 71
IEM0220I
IEIvl0221I
1EM0222I
1EM0223I
IEN0224I
IEM0225I
IEM02261
IEM0227I
IEM0228I
IEM0229I
IEM0230I
IEM0231I
IEM0232I
IEM0233I
IE!-10235I
IE110236I
IEM0237I
IEM0238I
IEM0239I
IEM0240I
IEM0241I
IEM0242I
IEM0243I
IEM0244I
IEM0245I
IEM0247I
IEM0254I
IEM0255I
IEM0510I
IEM0511I
IEM0512I
IEM0513I
IEM0514I
Read In
Read In
Read In
Read In
Read In
Read In
Read In
Read In
Read In
Read In
Read In
Read In
Read In
Read In
Read In
Read In
Read In
Read In
Read In
Read In
Read In
Read In
Read In
Read In
Read In
Read In
Read In
Read In
Read In
Read In
Read In
Read In
Read In
Read In
Read In
Read In
Read In
Read In
Read In
Read In
Read In
Read In
Read In
Read In
Read In
Dictionary
Dictionary
Dictionary
Dictionary
Dictionary
CO
CO
CL,CM
CL
CO
CO
CO
CA
CO
CO
CT
CS,CT
CL
CL
CT
CL
CL,CS,
C'T, CV
CT
C'!'
C'I'
CT
CT
C'l'
CT
CL
CG
CG
CC
CL
CP
CP
CP
CP
CP
CT
CT
CT
CT
CT
CT
C'l'
CT
CT
CT
CS,CT
C'l;
C'I
CV
CS
CS
CS
CV
CS
CV
CV
CV
CV
CV
CV
CW
CC
CG
LH
EH
EH
EG
EG
I:crv:0515I
IEM05161
IEM0517I
IEM0518I
1E1'(05191
IEM0520I
IE111105211
lEM0522I
IEM0523I
IEIv10524I
11<105251
IEM0527I
IEM0528I
1EM0529I
IEM0530I
IEV!05311
IEM0532I
IEM0533I
IEM0534I
IEM05351
IEtv:0536I
1EM05371
lEI-lOS 381
IEr-~05391
IEMOS40I
IEM0541I
IEr.~05 421
IEl'10543I
IEJ.V105441
IEr105451
IEM0546I
IBM05471
1E1'105481
IEIv!05l.J 91
IEM0550I
IEM0551I
IEM0552I
I EN'! 0 5531
IEM0554I
IEM0555I
1EM05561
IEM0557I
IEM05581
IEM05591
IEr10560I
I Et-tlO 5 611
IEM0562I
IEM056.3I
I Et-tiO 5 641
IEE05651
IEt-t10566I
IEM0567I
IEM0568I
IEM0569I
IEM0570I
I Et-l 0 5 711
IEt-tl0572I
IEi'-~0573I
1Et10589I
IEM0590I
IEM05911
IE~i059 21
IEM0593I
IEM0594I
IEM0595I
IEM0596I
IEM0597I
IFM0598I
Dictionary
ricticnary
Dictionary
Dictionary
8ictionary
Dictionary
:Jictionary
Dictionary
Dictionary
Dictionary
Dictionary
Dictionary
Dictionary
Dictionary
Dictionary
Dictionary
Dictionary
Dictionary
Dictionary
Dictionary
Dictionary
Dictionary
Dictionary
j)ictionary
Dictionary
Dictionary
Dictionary
[;ic+.:ionary
Dictionary
Dictionary
Dictionary
Dictionary
Dictionary
Dictionaty
Dictionary
Dictionary
Dictionary
Dictionary
Dictionary
Dictionary
Dictionary
Dictionary
Dictionary
Dictionary
Dictionary
Dictionary
Dictionary
Dictionary
Dictionary
Dictionary
Dictionary
Dictionary
Dictionary
Dictionary
Dictionary
Dictionary
Dictionary
Dictionary
Dictionary
Dictionary
Dictionary
Dictionary
Dictionary
Dictionary
Dictionary
Dictionary
Dictionary
Dictionary
EG
EG
EG
EG
EG
EG
EG
EG
EG
EH
EI
EJ
EH,EI,.i.'J
121
EI
EI
EI
EI
EI
EI
EI
EI
I:;J
EJ
EJ
EJ
EJ
EL, EK , El";
EL.,LK ,.t.M
EL, EY , P.Lv!
EL, EF ,.E.M
EL,EK,EE
EL, EK, L1Vj
EL,EK,EM
EL,.2h, .dlJ
EL, 1<, LI"j
EL,.t.:K, Uvj
K,EL,It-tJ
EK, EL, flY]
EK,EL,LM
EP
EP
EP
EP
EK
EL
EL
EW
~w
Ew
EW
J:'W
EW
EW
EW
Ew
EW
423
1E105991
IEM06021
IEM06031
IEl't.06041
1EM06052
IEM06061
1Ef106071
1EI~106081
Im'106091
IE~106101
IErv~06111
v
IEi 106121
IE1'~062 31
I EIv: 0 6 2 41
IEIV106251
lEN06261
1EM06271
IE~i06281
lE1'-106291
I E1'<1 0 6 301
I El-l 0 6 311
IEM0632I
IEM06331
IE~10634I
IEM0636I
IEIVW6371
1 EI'1 0 6 381
IEM06401
IEM06411
IE1'10642I
IEM0643I
IEIVl06441
IEM06451
IEM06461
IEtIJ0647I
IEN0652I
IEM0653I
IE~W654I
IEl10655I
IEfvl06561
IEIVl0657I
IEM0658I
IEN0673I
IE1106741
IEIV106751
IEM0676I
IEM06771
IEM0683I
IEM0684I
IEN0685I
IEM06861
IEM0687I
IEM0688I
IE~10689I
IEr>'106901
IEtv'10691I
IEM0692I
IEM06931
IEH0694I
IE1'-10695I
IE1':0696I
IEl"106971
IEtvi0699I
IEfvl07001
IEM07011
IEM07021
IEf\W703I
IEM07041
424
Dictionary
!Jictionary
Dictionary
Dictionary
Dictionary
Dictionary
Dictionary
Dictionary
Dictionary
Dictionary
Dictionary
Dictionary
Dictionary
Dictionary
Dictionary
Dictionary
Dictionary
Dictionary
Dictionary
Dictionury
Dictionary
Dictionary
Dictionary
Dictionary
Dictionary
Dictionary
Dictionary
Dictionary
Dictionary
Dictionary
Dictionary
Dictionary
Dictionary
Dictionary
Dictionary
Dictionary
Dictionary
Dictionary
Dictionary
Dictionary
Dictionary
Dictionary
Dictionary
Dictionary
Dictionary
Dictionary
Dictionary
Dictionary
Dictionary
Dictionary
Dictionary
Dictionar'y
Dictionary
Dictionary
Dictionarv
Dictionary
Dictionary
Dictionary
Dictionary
Dictionary
Dictionary
Dictionary
Dictional:y
Dictionary
Dictionary
Dictionary
Dictionary
Dictionary
.t:.w
FV,Fw
FV,Fw
FV,Zw
FV,HJ
FV,Fvi
FV,Fw
FV,FW
FV,FW
F'V,FW
FV,F'~
FV
j:"V,FW
FV,FW
FV,Fv.
FV,FW
FV,Fv.
F'V,FW
FV,Fw
FV, FvJ
FV,P1(.;
:F'V, F'v;
EY
.2~Y
EY
EY
EY
.EY
BY
EY
EY
BY
EY
BY
BY
FE.
FE
FE
FE
FE
FE
FE
FE.
FF
FF
FF
FF
Fl
PI
FI
FI
PI
.FI
Fl
FI
FI
FI
FI
E'I
1"1
1"1
PI
PI
PI
FI
FI
j:'I
FI
0 51
Imlj07061
UEt<07071
IEI"~07
lErv~07081
IEi~07091
lEk07101
1EI';;07111
IEM07121
I EI\'l3 71 3 I
IEM07151
IEM07181
lE~1Q7191
IEM07201
lEM07211
IEM07221
IEfvi07231
lEM0724I
IEM0725I
I Etv107 261
IEM0727I
IE~1107 281
IEF0729I
IEF0730I
IEM0731I
ID10732I
IE~<07331
IEL0734I
IEfV:0735I
IEl-W7361
IEIJ107 371
lEM07391
I Etv'iO 7 401
1EM07411
lEM0742I
IEl-;0745I
IEIVJ0746I
IEM07471
lEM07481
I Etv'107 4 91
IEIV:07501
1E1'107511
IEt"l0752I
IElVl07541
IEM0755I
IEM0756I
IE1'-10758I
IE1'l07591
IEt--107601
IEM07611
I:2F0762I
IEr'107691
IEE0770I
IEM0771I
lEl,]07781
IEIV107791
IE~:07 801
I EI't. 0 7 811
1[.... 07821
IEJy~07 8 6 I
IE1'107871
IEM07901
IEM0791I
IEIYj07921
IEtvl0793.I
IE~fJ07 9 41
IEM07951
IEIY107961
I EI'-lO 7 971
Dictionary
DIctionary
Dictionary
Dictionary
Dictionary
Dictionary
Dictionary
Dictionary
Dictionary
Dictionary
Dictionary
Dictionary
Dictionary
Dictionary
Dictionary
Dictionary
Dictionary
Dictionary
Dictionary
Dictionary
Dictionary
Dictionary
Dict.ionary
Dictionary
DJ.ctionarv
Dictionary
Dictionary
Dictionary
Dictionary
Dictionary
Dictionary
Dictionary
Dicticnary
Dicticnary
Dictionary
Dictionary
Dictionary
Dictionary
Dictionary
Dictionary
Dictionary
Dictionary
Dictionary
Dictionary
Dictionary
Dictionary
Dictionary
Dictionary
Dictionary
Dicticnary
Pretranslator
PrE:trcmslator
Prc-translator
Pretranslator
Prt'.;tr.::...nslat.or
Pretr0.nslat.or
Pretrans 18. tor
PrE.'trc.mslator
PrE: t.ransla 'Cor
P~E:'translator
Pretrc..l1sla.tor
Pretriinslator
Pretransldt.or
Pretrc;,ns 10. tor
Pr(;tr~<nslator
Pr,,_'tr:clnslatcr
PrE:trc~nsla tor
Pretranslatcr
FI
FI
FI
FK
FK
FI<
FK
FK
FK
EJ
FO
FO
FO
FO
Fa
Fa
Fa
FO
FO
FO
FO
E'O
FQ
FQ
FQ
F~
FQ
FQ
FQ
i"Q
FQ
FQ
FQ
FQ
FQ
FQ
FQ
FQ
FQ
FQ
FQ
FQ
FQ
FQ
FQ
FC
FQ
FC
P~
F~
GB
GB
GB
GB
GB
GB
GB
GB
GK
GK
GK
GK
Gf',G(;,G.R
GP, GC), G.i<
GP,G('i,GH
GP,GQ,GR
GP,GQ,GH
GP, G(:, (,.K
IEM07981
IEM07991
JEM08001
IEI'-108011
IEM08021
IEM08031
IEM08041
1ElVl08051
IE.VJ08061
IEI"j08071
1EIJJ08161
IEM08171
Im~08181
IEM08191
IE.108201
IEM0821I
1EM08231
IEt I08241
1EM08251
1Efvl08261
I EfviO 83L1
IEN0833I
1EM08341
IEI-108351
1EN0836I
I E1"'J 0 8 371
IEIvl0846I
IE1'108491
IEH08501
IEl".0851I
IEM08521
IEM0853I
IEH08641
I E1"10 8651
1E1v10866I
IEM0867I
IEM08681
IEM08691
IEM08701
IEM08711
IEM0872I
IEM08731
IEM08741
lEl"10875I
IEM08761
IEfvlO 877 I
IEM08781
IEZV108791
1E1-108801
IEM08811
IEM08821
IEM08961
IEM0897I
1E1108981
1E1'10 8 9 91
IEfvJ090 01
IU,.109011
I Efvl 0 9 021
IEN09031
J
1Ej\-~0906I
IEr-109071
IEM10241
IEV10251
IEM10261
1EM10271
I Efv.il 02 81
1EM10291
IEM10401
Pretranslator
Pretran31ator
Pretranslator
Pretranslator
Pretranslator
Pretr:anslator
Pretranslator
Pretranslator
Pretranslator
Pretranslator
P:r'etransla tor
Pre1:.:r:anslator
Pret:ranslator
Pretranslatcr
Pretranslator
Pretranslator
Pretranslator
Pretranslatol:Pretranslator
Pretranslator
Pretranslator
Pretranslator
Pretranslator
l'retranslator
Pretranslator
Pretranslator
Pretranslator
Pretranslator
Pretransla tor,'
Pretrans 12. tor
Pretranslator
Pretranslator
PrE-translator
Pretransla1:.or
Pretranslator
Pretranslator
Pretranslator
Pretranslator
Pretranslator
Pretranslator
Pretranslator
Pretranslator
Pret.ransla tor
Pretranslator.
Pretranslator
Pretranslator
Pretranslator
Pretranslator
Pretranslator
Pretranslator
Pretranslator
Pretranslator
Pretranslator
l'retranslator
Pretranslator
Pretranslator
Pretranslator
Pretranslator
Pretranslator
Pretranslator
Pretranslator
Translator
Translator
Translator
Translator
Translator
Translator
Translator
GP,GQ,GR
GP,GC,GR
GP,GQ,GR
GP,GQ,GR
GP,GQ,GH
GP,G<,.,',GR
GP,GQ,GR
IE1'110 511
IEliil0561
1E1'-;10571
r.CM10581
IELv:l0591
1Et/a0601
GP,~C,GR
IE!'<10621
IEI'-n0631
1El<1064I
IEM10651
I El"'i 10 661
IEM10671
1E1'-n0681
1EM10711
1EIVI10721
1EM10731
IEM10741
1EM10761
IEM10821
IErv:l0881
1EM10891
IE.V110901
IEtv::l0911
IEM10921
1EBll041
IErv111051
1EMll061
IEIVoll071
1EM11081
IEfv111101
IEM1111I
1E1'-j11121
IEI'-111131
IEM11141
IEM11151
IEM11201
IEMl1211
1EMl122I
1E.V:11231
1E.V!112:)I
IEM12001
1El"i15691
ImH5701
1EM15711
1EIva5721
IE.fV1,15 7 41
IEly115 7 51
1Et<116001
1EIJJ16011
1EM16021
1EIv116031
IEM16041
1ElV116051
IEM16061
1EM16071
1EM16081
1EM16091
JEM16101
IU116111
1E1I;16121
IElv'J16131
1EIv.16141
JEM16151
IEM16161
IEM16171
IEM16181
1EM16191
GP,GQ,GR
GP,G(",GR
GU,GV
GU,GV
GU,GV
GU,GV
GU,GV
GU,GV
GU,GV
GU
GU,GV
GU,GV
HF,HG
riF,HG
HF,HG
HF,HG
HF',HG
HF,HG
HF,HG
HF,HG
HF,HG
rlF,HG
HF,HG
HF,HG
HK,HL
HK,HL
HK,HL
HK,HL
HK,HL
HK,HL
riK,HL
dK,HL
HK,HL
HK,HL
HK,HL
HK,HL
HK,HL
HK,HL
dK,HL
HK,HL
HK,HL
BK, iLL
!-iK
riP
tiP
tIP
tiP
tiP
dP
rIP
riP
tiP
tiP
lA
1A
IA
IA
IA
1A
1M
IE~10611
T.rdnslator
Translator
Trans1i'::ltor
'Iranslator
Tre:nslator
TransJator
Translator
'Translator
Translator
Translator
'l'ranslato:>:
Translator
Translator
Translator
Translator
Tre:nslator
'Translator
Translator
Translator
Translator
Aggregates
l~g9rega tE:S
Aggrega1:.ES
Aggregate Preprocessor
Aggregates
Aggregates
Aggregates
Aggregates
Ag<jregates
Aggregates
Ilggregates
Aggregates
Aggregates
Aggregates
Aggregate~3
Ilggregates
Aggregates
Aggregates
l~ggregates
l'seudo-code
P~;eudo-code
Pseudo-code
PSEudo-code
Pseudo-code
PsC'udo-code
Pseudo-code
PSEudc-codE
Pseudu-code
Pseudo-code
Pseudo-code
J?sEudo-code
Pseudo-co.:3e
Pseudo-code
Pseudo-code
Pseudo-coJe
Pseudo-code
Pseudo-code
Pseudo-code
Pseudo-code
Pseudo-code
Pseudo-code
P!:;;C'udo-code
Pseudo-code
Pseudo-code
PSEudo-code
Pseudo-code
Pseudo-code
Pseudo-code
Appendix I: Diagnostic
1M
nIl
1M
1M
1M
ItJ]
1M
1l"J
IIvl
1M
IIvj
1M
ItvJ
n:
1M
I'v~
II'-"
II";
"lD
I).
JI<
JK
JK
J1
...JK
JP
JP
JP
JP
JP
JP
JP
JP
JP
JP
JP
JP
JP
JP
LD
LD
Li\
LG-ON
LG
LG
LG
LG
LG
LS,LT,LU
LS
LS,L'I,LU
LS,L'I,LU
LS,L'I,LU
LS,L'I,LU
LS,L'I,LU
LS,LT,LU
LS,L'I,LU
LS,L'l,LU
LW
LW
Lw
LS,L'I,LU
Lw
ME
IvlE
MB
ME
.VlB
~Essages
425
IEM16201
IEfJl:16211
IEM16221
IEM16231
IEM16241
IEM16251
IEM16261
IEM16271
IEM16281
IEM16291
IE-116301
IEM16311
IEM16321
IEIv11633I
1EM16341
IEH16351
IEI.v116361
IEM16371
IEM16381
IEM16391
IElV116401
IEM16411
IE/.V116421
IEM16431
IEM16441
IEr.vU6451
IEM16481
1EM16491
IEM16501
IEM16511
1EM16521
1El"'l16531
IEM16541
IEM16551
1EM16561
IEM16571
1El"116701
IEt116711
IEM16801
IEM16871
1EM16881
1EM16891
IEM16911
1EM16921
IEM16931
1EM17501
1EM17511
IEM17521
1EM17531
IE!.Jl1754I
IEl'117901
IE1"117931
IElvl17941
IEM17951
1EM17961
IEM17971
1EM18001
1Etv118011
1EM18021
1EM18031
1ElV.i18 0 41
IEI.Ji18 051
1EM18061
IEl"118 0 71
IEM18081
IEM18091
1EM18101
IEr-a8111
426
Pseudo-code
Pseudo-code
Pseudo-code
Pseudo-code
Pseudo-code
pseudo-code
Pseudo-code
Pseudo-code
Pseudo-code
pseudo-code
Pseudo-code
Pseudo-code
Pseudo-code
Pseudo-code
Pseudo-code
Pseudo-code
Pseudo-code
Pseudo-code
Pseudo-code
pseudo-code
Pseudo-code
Pseudo-code
Pseudo-code
Pseudo-code
Pseudo-code
Pseudo-code
Pseudo-code
Pseudo-code
Pseudo-code
Pseudo-code
Pseudo-code
Pseudo-code
Pseudo-code
Pseudo-code
Pseudo-code
Pseudo-code
Pseudo-code
Pseudo-code
Pseudo-code
Pseudo-code
Pseudo-code
Pseudo-code
Pseudo-code
Pseudo-code
Pseudo-code
Pseudo-code
pseudo-code
pseudo-code
Pseudo-code
Pseudo-code
Pseudo-code
Pseudo-code
Pseudo-code
Pseudo-code
Pseudo-code
Pseudo-code
Pseudo-code
Pseudo-code
Pseudo-code
Pseudo-code
Pseudo-code
Pseudo-code
pseudo-code
Pseudo-code
Pseudo-code
Pseudo-code
pseudo-code
Pseudo-code
ME
lYlE
lVlB,KE
rIlE
t:;B
HB
hE
lVl:E
ivJE
ME
iVJG,t,m
VJI,MJ
MI, r-/~J
HE
"lE
/'viE
t1E
lVlE
ME
I:1F
/.V'lM,MN
NM,MN
MM,MN
MM,MN
Mtv],MN
IvJM, MN
I".lM,MN
MM,MN
MM,MN
Ml"l, MN
I"iM, MN
M/.V1 ,MN
MM,MN
MN
i''iE
/.V'i!'-}
I<lP
I'.lP
tvIS
MS
MS
1"1S
MS
1"lS
iVjS
MS
MS
NA
NA
NA
OG,OM
OE
OE
OE
OE
OE
OS
OS
OS
OS
03
OS
OS
OS
as
OS
OS
OS
IEM18121
lEtH8l31
IEE18141
IEM18151
1E1-118161
IEM18171
I[\'i18181
IEtv118191
IEM18201
1EM18211
1Er-n8221
IElV118231
I E/.Vl 18 2 4I
IEM18251
1EM18261
IEM18271
IEM18281
IE/.V118291
IEM18301
1EM18321
1EM18331
1EM18341
IEM18351
lal 18361
IE1v:18371
1EM18381
Im118391
IEl'~18 401
IEM18411
IEtv118431
1EM18441
IEfV'18451
1EM18461
IEM18471
1EM18481
1E/.VJ18491
IEM18501
IEtv118601
1El"118611
1EM18621
IEM18701
1EJY~18 711
1EM18721
IEM18731
I Et/ll 87 41
IE!V'18751
IEM23041
1Ervt23051
IEM23521
1EM27001
IEM27011
1EM27021
1EM27031
1EM27041
1EM27051
IEM27061
1EM27071
1EM27081
1Er-'27091
1EM27101
1EM27111
1El"2712I
1Er-~28171
1Erv!28181
IEM28191
IEN2R201
I Ef'~ 2 821 I
IEM28221
Pseudo-code
Pseudo-code
Pseudo-code
Pseudo-code
Pseudo-code
Pseudo-code
Pseudo-cede
Pseudo-code
pSEudo-code
Pseudo-code
Ps fO.;udo-ccc1 e
Pseudo-code
PSEudo-code
PSE-udo-code
Pseudo-code
Pseudo-code
Pseudo-code
PSE:udo-code
P::3Eudo-code
Pseudo-code
Pseudo-code
Pseudo-code
PSEudo-code
Pseudo-code
Pseudo-code
Pseudo-code
Pseudo-code
P~;eudo-code
PSE:!udo-code
PSEudo-code
Pseudo-code
Pseudo-codE
Pseudo-code
Pseudo-code
Pseudo-code
Constant Conversions
Constant Conversions
Psetldo-cocie
Pseudo-code
Pseudc-code
Pseudo-code
Pseudo-code
pSeudo-code
PSE.udo-code
Pseudo-code
Ps eudo- code
Stor:agE: Allocaticn
Storage Allocation
Storage Allocatior:
Register Allocation
Register l~llocation
Register Allocation
Register Allocation
Register F.llocation
Register A.llocation
Register Allocation
Register Allocation
Register Allocatior:
Register .l.\llocaticn
Register l"llocation
PE'gister /,lloca tion
Heljister Allocation
DCE Generation
DCB Generation
DCL Generaticn
DeI: Generation
DC.b Generation
DCB Generation
OS
OS
OS
0("'
NJ
NJ
NJ
NJ
NJ
NJ
N,J
I\l . .;
NfJi
NG
NG
NG
NG
NG
NG
Nlv~
N/.V]
NM
NI.vl
Ntvj
NLVl
NM
Ntli
HE
WI]
NJ.'.1
l'1t-1
NIv'j
NM
Nl"l
NM
os
os
NU
NU
NU
NU
NU
NU
NU
NU
NV
PD
PD
PD
RF,RG,HH
RF,RG,t<H
RF,RG,RH
RF,RG,RH
HF,RG,i\H
HF, EG, lUI
RF,kG,!<.H
RF, F:G ,
~af
GA
GA
GA
GA
GA
GIl
~<'G,.r{H
IEf\128231
IEr128241
IEM28251
IEM28261
IEM28271
IEM28281
IEM28331
IEM28341
IEM28351
IEM28361
IEN28371
IEM28491
IEf\'J28521
IEM28531
IE!128541
I Etli2 8551
IEM28651
I Ef'li 2 8661
IEM28671
IEM28681
IEI'128811
IEM28821
IEM28831
IEM28841
IEM28851
IEM28861
I Et-:2 8 871
IEM28881
I ElvJ2 8 971
IEM28981
IEM28991
IEM29001
IEM29131
IEM30881
IEN3136131491
1EM3151I
IEM3153I
IEM3154I
IEM3156I
I EtJ1316 2 I
IEM3167I31731
IEM3176I3190I
IEM3199I32131
IE.lV135841
IEM38401
IEM38411
IEM38421
IEN38431
IEM38441
IElv138451
IEM38461
IEM38471
IEN38481
I Et-i 3 84 91
IEM38501
IEM38511
IEM38521
DCB Generation
DCB Generation
DCB Generation
DCB Generation
DCB Generation
DCB Generation
Final Assembly
Final Assembly
Final Assembly
Final Assembly
Final Assembly
Final Assembly
Final Assembly
Final Assembly
Final Assembly
Final Assembly
Final Assembly
Final Assembly
Final Assembly
Final Assembly
Final Assembly
Final Assembly
Final Assembly
Final Assembly
Final Assembly
Final Assembly
Fin,::ll Assembly
Final Assembly
Final Assembly
Final Assembly
Final Assembly
Final Assembly
Final Assembly
Dictionary, Declare
Pass 2
Dictionary, Declare
Pass 2
Dictionary, Declare
Pass 2
Dictionary, Declare
Pass 2
Dictionary, Declare
Pass 2
Dictionary, Declare
Pass 2
Dictionary, Declare
Pass 2
Dictionary, Declare
Pass 2
Dictionary, Declare
Pass 2
Dictionary, Declare
Pass 2
48 Character
Preprocessor
compiler Control
Compiler Control
compiler Control
compiler Control
Compiler Control
Compiler Control
Compiler Control
Compiler Control
Compiler Control
Compiler Control
Compiler Control
Compiler Control
Compiler Control
GA
GA
GA
GA
GA
GA
'l'F
TF
'IF
'1'F
TF
rl'J
TJ
'.J..'J
'I1J
'I'J
TO
TO
TO
TO
TT
TT
TT
TT
TT
TT
TT
TT
UA
UA
UC
UC
UF
EL
EL
EL
E.L
EL
EL
EL
EL
.J:::L
IEIv'138531
1EM38551
IEM38561
1El,138571
IEM38581
I Et-';38 591
1Elv}38601
1El'~38 611
1EM38621
1Er.J38631
IEM38641
IEM38651
IEf'li38 7 21
1EM38731
IEM38741
1El-138751
I El"138761
IEf'l138771
1El'B8781
1EM38801
IEM38871
1EM38881
I Ef'13 8 8 9 I
1EM38901
IEM38911
IEM38921
IEM38931
IEt-l38941
1Erv',38951
1EM38961
1E1"'38971
IEM38981
IEM38991
IEM39001
1EM39011
IEM39021
1EM39021
IEM39031
IEM39041
IEM39051
IEf'li39061
IEM39071
IE1V,39 081
IEM39091
1EM39101
1EM39111
1EM39121
IEM41061
IE1'141091
IEM41121
IE!~41151
EL
BX
AA
AA
AA
AA
AA
AA
AA
AA
AA
AA
AA
AA
AA
IEM41181
1EM41211
IEl"f41241
1EM41301
1EI~413 31
1EM41341
IEIvl41361
IEM41391
IEM41421
1Et'l41431
IEM41481
IEM41501
IEM41511
IEf'I141521
IEM41531
1EM41541
IEM41571
Compiler
Compiler
Compiler
Co!npiler
Compiler
COffipiler
Compiler
Cowpiler
Compiler
Comeiler
Centro I
control
Control
Ccmtrol
Control
Control
Control
Control
Control
Control
Corn~iler control
Compiler Centrol
Compiler Control
Compiler Centrol
Compiler Control
Compiler Control
Compiler Centrol
Compiler control
Compiler central
Compiler control
Compiler Control
Compiler Central
Compiler centrol
Compiler Control
Compiler Control
Compiler Control
Compiler control
COffipiler Control
Compiler Control
Compiler control
Compiler Control
Compiler Control
Con,piler Control
Compiler Control
Compiler Control
Corr.piler Control
Compiler Control
Compiler Control
Compiler Control
Compiler Control
Compiler control
Compiler Control
Compiler Control
Compiler Control
Compiler Control
Compiler Control
COI~,piler Control
Compile-tirre Processor
Compile-time Processor
Co~pile-time Processor
Cornpile-time PrOCEssor
Compile-time Processor
Compile-tirr.e Processor
Compile-time Processor
Cowpile-time Processor
Compile-time Processor
Compile-time Processor
Compile-time Processor
COIf.pile-timE~ PrOCEssor
Compile-time Processor
Con~pile-time Processor
Compile-time Processor
Compile-time piocessor
Compile-time Processor
Compile-time Processor
Con,pile-tin'i:= Processor
Compile-time Processor
Co~pile-tirre Processor
Appendix I: Diagnostic
AA
AA
AA
AA
AA
AA
AA
AA
AA
AA
AA
AA
AA
AA
AA
AA
AA
AA
AA
AA
AA
AA
AA
AA
AA
AA
AA
AA
AA
AA
AA
AA
AI,
AB
AE
AB
hE
liB
AA
AA
AA
AA
AA
AL
AB
AB
AB
AS
AS
AS
AS
AS
AS,BC,LG
BC,BG
BG
BC
BC
BC
BC
BC
BC
BC
BC
Be
BC
BC
BC
BC
~essages
427
1EM41601
1Erv141631
1EM41661
1EM41691
1EC<41721
1EM41751
1E~41761
1E1>141781
1EELI1841
1EM41871
1EM41881
1EM41901
1E1".:41931
1EM41961
1EM41991
1EM42021
1Er~42051
1EM42081
1EM42111
1EM42121
1EM42141
1EM42171
1EIVt4 22 01
1EM42231
IE~42261
1EM42291
IBM42321
1EM42351
1EM42381
1EM42411
1EJ:.142441
1EM42471
IEIvi42481
IEJ.V142501
IErt;42531
IEM42541
1EM42561
1EM42591
1EI'~42621
1EM42651
1EiYj42711
IEM42771
I E1Vl4 2 8 01
I EJ.Vl 4 2831
1Eli42861
1EI.:i4 28 91
1EM42921
I Elv14 29 51
1EIv~42961
1EM42981
1EiY142991
1ElV!4301I
1Efv!4304I
1EM43071
1Er'~4 3101
1Etll43131
1El"143191
1EM43221
1EI-.i43251
1EM43281
1EIv143311
I ElV.i 4 3 321
1E1'<143341
1Eivl43371
1EM43401
IEM43431
1EM43461
428
Compile-time
Compile-time
Compile-time
compile-time
compile-time
Compile-time
compile-time
Compile-time
Compile-time
Compile-timE:;
Compile-time
Compile-time
Compile-time
Compile-time
Compile-time
compile-time
Compile-time
Compile-time
Compile-timE'
Compile-time
Compile-time
Compile-time
Compile-time
Compile-time
Compile-time
Compile-time
Compile-time
Compile-time
Compile-time
Compile-time
Compile-time
Compile-time
Compile-time
Compile-time
Compile-time
Compile-time
Compile-time
Compile-time
Compile-time
Compile-time
Compile-time
Compile-t.ime
compile-time
Compile-time
Compile-time
Compile-tirr,e
Compile-time
Compile-t.ime
Compile-time
Compile-time
compile-time
compile-time
Compile-time
Compile-time
Comoile-time
compile-time
Compile-tirr,e
Compile-time
compile-time
Compile-tirre
Compile-time
compile-time
compile-time
COIPpile-tirr.e
Processor
Processor
Processor
Processor
Processor
Processor
Processor
Processor
Proces:::;or
PrOCE~ssor
Processor
Processor
Processor
Processor
Processor
Processor
Processor
Processor
Processor
Processor
Processor
Processor
Processor
Processor
Processor
Processor
Processor
Processor
Processor
Processor
Processor
Processor
Processor
Processor
Processor
Processor
Processor
Processor
Processor
Processor
Processor
Processor
Processor
Processor
Processor
Processor
Processor
Processor
Processor
Processor
Processor
Processor
Processor
Processor
Processor
Processor
Processor
Processor
Processor
Processor
Processor
Processor
Processor
Processor
Compile-tin~e Processor
Comoile-tin~e Processor
Compile-time Processor
BC
BC
BC
BC
BC
BC
BC
BC
BC
BC
BC
BC
BC
BC
BC
BC
BC
BC
BC
BC
bC
BC
BC
BC
BC
BC
BC
BC
BC
BC
BC
BC
BC
BC
BC
BC
BC
BC
BC
BC
BC
BC
BC
BC
BC
BC
BC
BC
BC
BC
BC
BC
BC
BC
BC
BC
BC
BC
BC
BC
BC
BC
BC
BC
BC
BC
BC
1EM43491
1EM43521
1E~43551
1EM43581
IEM43611
1EM43641
I Er,'i4 3 6 7 I
IEM43701
IEfv143731
1EM43761
1EM43791
1EM43821
1EM42831
1EM43911
lE~'J43941
1EM43971
1EM44001
1EM44031
1EM44061
1EM44071
1EJ.Vi44091
1EM44121
1El"~4 4151
1Ef'l:44211
1E~44331
IEfv144361
1Et-144391
1EM44481
1Er-]44511
IEt-J44521
IEIv344541
1Elv:l44571
1EM44601
1EM44631
IEr-~4 4 69 I
1EM44721
IElVJ44731
1EM44751
1EM44781
1EM4481I
1EM4484I
1Ef\'I44991
1EM45021
1ml14504I
1EM45051
IEM45061
IEH4508I
1EM45111
1Er-:45141
I Et-:; 4 5171
1EM45201
1EM45231
1EM45261
1EfY.:45 29 I
1EM45321
1EM45351
1Erll45381
1Et-':45471
1EIvJ45501
1EM45531
1EfYJ45591
1ElVi4 5 621
IEIv145701
1EI'1145721
IEfYi45741
1EM45761
1EM45781
Compile-time
Corr:pile-tirre
Compil e-tiIT'e
Corr.pile-tirre
Compile-time
Corr,pile-tirr,e
Compile-time
Compile-tirre
Compile-time
Compile-tirr:e
corrpile-tirre
Compile-time
Corr,pile-time
Comoile-time
compile-tirre
Compile-time
Corrpile-tirre
Compile-time
Compile-time
Compile-tirre
Corr:pil e-time
Corrpile-time
corupile-time
Con:pile-tirre
Compile-timE:
Compile-tirre
Corr:pil e-time
Corr.pile-t,ime
Corrpile-tirre
corr-pile-time
COIt'pile-tirr.e
compile-time
Corr,pil e-tirre
Compile-time
Compile-time
Corrpile-time
Corr.pile-tirr.e
Compile-time
Compile-time
Corr.pi 1 e-tirre
Con,pile-tin,E
Con.pilp-till f:..'
compile-time
Compile-time
Corrpile-time
Corr.pile-tirre
COH'pile-t,irre
Compile-time
Compile-time
COIT,pile-time
Compile-time
Compile-time
Corr.pile-tirre
Compile-time
Compile-tin:e
Coropile-tin:e
Compile-time
Compile-tirre
COllipile-time
cOlllpile-time
CQl'[ipil c-time
Compile-tirre
Compile-time
Compi le-t.ime
Compile-tirre
Con:pile-time
Compile-tirre
PrOCE'ssor
Processor
Processor
PrOCEssor
Processor
PrOCE:ssor
Processor
PrOCE:ssor
Processor
Processor
f'rocessor
Processor
Processor
PrOCf"ssor
Processor
Processor
PrOCE:ssor
Processor
Processor
Processor
Processor
Processor
Processor
Processor
Processor
Processor
Processor
Processor
Processor
Processor
Processor
Proce~:;sor
Processor
Processor
Processor
Processor
Processor
Procef;sor
Proce$sor
Processor
Processor
Pr:oc(;sso~'
Processor
Processor
Processor
Proc,ssor
Processor'
PrOCE.'ssor
Processor
Processor
Processor
Processor
Procf-ssor
PrOCEssor
ProcE;ssor
PrOCEssor
Processor
Processor
Processor
Processor
Processor
Processor
Processor
Processor
Processor
Processor
Processor
BC
BC
BC
BC
BC
BC
BC
BC
BC
BC
BC
BC
BC
BC
BC
BC
BC
BC
BC
BC
BC
BC
BC
DC
BG
BG
BG
BG
BG
BG
BG
BG
BG
BG
BG
BG
BG
BG
BG
BG
BG
BG
BG
BG
BG
BG
BG
BC
BG
BG
BG
BG
AS
BC,BG
AS
AS
BC
AV
BG
BG
BG
BG
BG
BG
BG
BG
BG
declared.
Each
procedure
is
assigned
a unique nurober.
The
identifiers in the non-procedural
text are given the procedure nurrber
1. The built-in function SUBSTR is
given the procedure number o.
This
appendix
describes,
for
the
Compile-time Processor Logical Ph~s~, the
internal formats of text and tables, coromunication region use l
Operating System
interfaces and compiler control interfaces.
1
2:
4
5
7
8
VALUE/VALU~-POINTER:
Byte 1
Word 1
Byt:e 2
Byte 3
fixed
character
bit
entry
label
INCLUDE identifier
iterative DO
constant
Byte 4
r----------T----------T---------------------,
I LENGTH I PRoe NO. I HASH-CHAIN-POINTER I
~----------+----------~---------------------i
Word 2 I
TYPE
I
VALUE/VALUE-POINTER
I
~----------~----------T---------------------i
Word 3 I
FLAGS
I
COUNT
I
~---------------------~---------------------i
Word 4 I
POINTERS/PARM-TYPES
I
~-------------------------------------------i
JI
Word 5 IL ___________________________________________
EBCDIC NAME ------>
I
Word n
r-------------------------------------------iI
I ------> EBCDIC NAME
L ___________________________________________ J
429
1
2
3
4
5
6
7
8
9
10
11
12
embrac-
NAME: A variable
length
field,
containing the EBCDIC name of the
item.
If the item has no name,
tHis field is not included.
sub-blocks are
value blocks,"
r--------------T---T-'
r------------T---------T----'
I?AB
C I 0 I---->ICD/////
I 100000011
? I
L______________ ___
~
<----28------>
~_J
1
2
3
4
l-IXBD
CHARACTER
LIT
Indirect reference (i.e., points
to a dictionary entry>
Character string value does not
"belong" to the 8tack and bhouid
not
~e
erased when stack is
popped.
(Shared with Phase bG
scan. )
(A+B)
IIC, for
exam-
CII
A B +
S~ACK.
These instructicn consist only
of the one-byte ol-;erator.
'l'hey taKe
their operands, if any, from the Phase
II stack. TheSE operators correspond
in general to the PL/I arithmetic and
string operators. Depending on wlJether they are unary or binary, they us~
the tOP one or two items on the stack.
Before these operands ~re used,
they
are converted, if necessary, i~.El~
to the required type.
After the items
are used they are po~[ed from the
stack. The result of the operation is
pushed onto the stack.
ADD;
PUSH C;
CONCAT
The PUSH operator pushes its operand
onto the phase II stack. This stack consists of 150 full wors in scratch storage.
The first byte of eacri call is a status
byte; the last three bytes hold the value
if the item is FIXED, a pointer if the item
is CHARACTER or BIT, or an indirect reference to a dictionary entry if the indirE!ct bit is on.
The bits of the status lyte
following meaning if set to one:
have
the
2.
FIXED LENGTH.
These oper~tions are
followed by a fixed number of bytes -usually two. These bytes, which usually refer to a dictionary e~trYI
serve
as
the
operand{s) of the
instruction.
Corrpil~-time
Processor
431
r--------T-------T------------------------------------T----------------------------,
I MNEMONIC I TYPE
I
OPERAND DESCRIPTION
I
FUNCTION
I
~--------+-------+------------------------------------+----------------------------~
IA+B
STACK BINARY; OPERANDS, RESULT FIXED
ADD
SUB
STACK
MUL
STACK
DIV
STACK
STACK
UNMIN
STACK
UNPLS
ASSIGN1.
IA*B
IA/B
I-B
I+B
IA=B (assignrrent)
STACK
FIXED
NOT
STACK
AND
STACK
A&B
OR
STACK
BINARY; OPERANDS,
AlB
CON CAT
STACK
AilE
EQU2
STACK
A=B (equality)
STACK
A>B
STACK
A<B
FIXED
Two-byte
INC
FIXED
ABORT
R~SULT
dictiona~y
BIT
INCLUDE A
reference
One-byte code
TRA
FIXED
TRAC
FIXED
TRAF3
STACK
FIXED
STACK
FIXED
FIXED
THAI""
IA-B
IABORT processing
ITransfer to label
ITransfer to label
ITransfer to label
lif top of stack false.
I
I
PUSH
FIXED
PUSHI
FIXED
UPDT
FIXED
ENTM
FIXED
no operand
Enter interpreter
RTNS
FIXED
no operand
ENB
FIXED
ACTIVA~E
DSB
FIXED
DEACTIVATE A
DCL
FIXED
Dictionary reference
DECLARE A
I NOPD
I ________
L
432
FIXED
~
_______
IPush address of
lonto stack
Dictionary reference
~
____________________________________
r--------T-------T------------------------------------T----------------------------,
I MNEMONIC I TYPE
OPERAND DESCRIPTION
FUNCTION
.---_._---+-------+----------------------------------- -+----------------------------~
ICVT6
11
The ASSIGN operator does not push a result. The expression result is found on
PDS and is pop~ed; the dictionary reference for the left hand side is the
single argument.
I the
GT,
and
LT
is
Qe~atin~yste~~_~/I-~~~g~~g~~fififti2~~,
as specified in
Form C28-6571.
3The TRAF uses and pops the top operand on the stack.
string for conditional tran~fers.
f~~
__ y!~~/3Q
It is treated as a bit
~This
specified
The dictionary
in
the
RETURNS
7This terminates the invocation of procedure A and converts the value on the topl
of the stack to the attribute specified on the PROCEDURE stateroent.
I
L __________________________________________________________________________________ J
433
434
STATUS
ZCOMM
Byte 1: Bit o
1
Note:
2
3
Condition
4
settings
"1"
set
5
6
"0" = off
7
STA2
ZCOMM+l
Byte 2: Bit 0
1
2
3
4
5
SUBSTRDR ZCOMM+2
TOKPTR
ZCOMIvJ+4
INCPTR
ZCOMM+8
INBUF
ZCOMM+12
OUTBUF
ZCOMM+16
PDSPTR
ZCOMM+20
ENDBUF
ZCOMM+24
WHERE
ZCOMM+28
IVBPTR
z.COr-1~l+
32
LINCNT
ZCOMM+36
TEMPTR
ZCOMM+40
DCENTY
ZCOMM+42
CURINC
ZCOMM+44
CURDO
ZCOMM+46
PROCNO
ZCOMM+48
NXTPC
ZCOMM+49
DPHCNT
ZCOMM+50
CODE
ZCOMM+52
LENGTH
ZCOMM+54
not used
PROCSW -- processing macro procedure
FINDBIT -- SKHDIC has found dictionary itere
ERSW -- diagnostic produced in Phase II
EFSW -- end of file encountered (input)
LEVEIT -- processing IVB
INCSW
processing included text
PH2SW -- in Phase II
scanned,
significant
Appendix J:
text
reference
character
output
co~pile-time
in
or
input
buffer, text
Processor
435
MXDPTH
ZCOMM+56
INDEX
ZCOM~j+58
ATTR
ZCOMM+60
GRSAVE
ZCOMM+64
NEWIVB
ZCOMIv1+68
VALUE
ZCOMM+72
PREINB
ZCOMM+76
BUFSRT
ZCOMM+80
INIVB
ZCOMM+84
OUTIVB
ZCOMM+85
'I'XTBLK
ZCO~ll"l+
86
INVBAB
ZCOMM+88
OUTIVBAB ZCOMM+92
TXTBLKAB ZCOMM+96
MTABC
ZCOM~j+100
TXTEST
ZCOMM+104
BUF1
ZCOMM+108
BUF2
ZCOM~j+112
LIBDCB
ZCOMM+116
USRDCB
ZCOMM+120
MAXLCT
ZCOMM+124
PRCWHR
ZCOMM+128
DCENTYAB ZCOMM+132
SCEK
ZCOMM+136
PROCCL
ZCOMM+140
OUTERCL
ZCOMM+142
PROCCLDR ZCOMM+144
OUTRCLDR ZCOMM+146
DECIDR
ZCOMM+148
CURPRC
ZCOMM+152
TOKBUF
ZCOMM+164
32
HASTB
ZCOMM+300
128
CONSCH
ZCOMM+428
SPECCH
ZCOMM+430
436
for
named
ZTV
ZMYN1~M
Although the
compile-time
processor
makes considerable use of the Operating
System facilities, it usually does so indirectly through the compiler control., However, those Operating
System
services
required to support the INCLUDE facility
are invoked directly. Since included text
is required to be a member of a partitioned
data set, it is those data management
facilities which support BPAM which are
used.
Specifically the macros OPEN, FIND,
CLOSE, READ and CHECK are used by various
parts of the INCLUDE handler~ Details of
these macros can be found in lBM_.y:!:~!!.!~l'Q
Q2.f~ t i !!.sL2Y stem : .-.2!!.:t~.Q I Pf29 r a!IL~ rv1 e s ,
Form C28-654i.
MCSIZE
CCCODE
TXTSZ
ZSOR
ZMAG
ZTRANi
The following compiler control
are referenced:
ZUPL
RELESE
ZURD
RLSCTL
ZUGC
ZTxTRF
ZUTXTC
ZTxTAP.
ZURC
ZCl-iAIN
ZABOR'l'
ZALTER
ZLOADW
ZDABRF
ZDICRF
ZEND
PARi
ZUERR
ZUBW
PAR2
ZDH.FAB
The root phase is invoked by the compiler control if the MACRO option is specified. All subsequent commutiication between
the compile-time phases and the compiler
control is done by way of cells in the
communications region.
This includes the
parameters passed to the F service routines,
the decoded options which are tested, and the cells set to indicate t~e
status of source margins and mode (EBCDIC)
of the output.
Specifically, the following cells in the
communications region are either used or
set:
routines
Index
437
unsubscripted 43
Arrays of strings with the VARYING
attribute
secondary dope vector 59
Arrays storage mapping 45,46
ASSIGN statement
format of 377
Assignrrent statements
nested 43
Assignments 40,43
array 43
scalar 43
to chameleon dummy arguments 44
Assignroents coded in-line 55,56
ATR
attribute lister 39
option 61
ATR option Phase FX 39
Attribute collection 34
Attribute list 34
Attributes
BIT 34
CHARACTER 34
declarations 19
default 35
DEFINED 34,58
DIMENSIONS 34
factored 34
generic 34
INITIAL 36
INITIAL CALL 34
invalid and inconsistent 34
LABEL 34
LIKE 36
PIC'I'URE 34
POSITION 34
PRECISION 34
SE'IS 34
testing for consistent attributes 32
USES 34
AUTOMATIC
chains 45,57
non-structured arrays in 360
non-structured scalar strings in 361
AUTOMATIC chain delimiter, dictionary
entry 366 entry 366
AUTOMATIC structures 360
Base elements of structures
bounds 32
BJl..SED 34
Second File Stctements for
variablE-s 38
BASED variable 36,39
arguments 52,53
Batch compilation 26,64
Batch delimiter card 26
BCD
entries 364
identifiers 19
BEGIN
392
chains 28
entries type 1 32
statements 37,39,42
triples 48
BEGIN stateme:!1t
format of 376
prologue 60
BIT 34
attributes 31~
string 49
BLDL
second half list 26
BLDL macro 22
Block levels 28
Block Control 21
Block header chains 33
Block nesting levels and counts 30
Block size
dictionary 15,22,405
text :15,22,405
BOOL functions
AND 50
EXCLUSIVE OR 50
In-line code 50
OR 50
Bounds
for base elements of structures 32
of temporary arrays 32
Build list 22
Built-in functions or progra~mer supplied
procedures 51
Built-in function table 44
Built-in functions
ADD 49,50
ADDR 50
array and structure arguments 44
compiler 32,55
COMPLETION 50
Dictionary Entries 363
DIVIDE 49
Er.:JPTY 41
EXCLUSIVE OR 50
generated in-line 45,51
INDEX 45
MULTIPLY 49
NULL L~l
NULLO 41
STATUS 50
SUBSTR 45
UNSPEC 45,50
BUY 40,51,55,60
BUY ASSIGN
statements 55
BY NAME option 40
Byte 9
Code Byte 365
B~{tes for
351
Entry Dictionary Entries ENTRY 351
CALL
chain 29,35
EVENT 51
PRIORI'I'Y 51
TASK 51
to a Library epilogue routine
CALL statement 37
format 378
52
439
Compilation
batch 26
bypassed 28
termination of 45,65
compile-time expressions 431
Compile-time macro operations
table 432-433
Compile-time Processor
dictionary entries 429
instruction codes 431
internal format of text 429
Compile-time Processor error messages
text 28
Compile-time Processor Logical Phase 429
compile-time Processor Phase 19,27
Compile Time Processor Line numbering 27
compile-time Processor, corrmunications
region 434
Compile-time statements 431
syntax errors 28
compiler
initialization 15
input 15
labels 361
output 15
compiler completion codes 23
compiler Control module IEMAA 21
Compiler control modules 24,27
compiler control routines
entry to 407
initialization 15
Comoiler Function - formats 390-393
Compiler functions 32,55
Compiler labels
numbered for use 63
Compiler options
LINECNT 414
SIZE 414
SORMGIN 414
table 25
Compiler Organization 17
Figure 3 18
Compiler, overall flowcharts 67-68
Compiler pseudo-variables and functions 32
compiler pseudo-variables 55
compiler subroutines
text for 63
COfv'lPLETION 50
Completion codes 23
Concatenation 50
of varying strings 50
triples 45
CONDITION conditions 38
Conditions
CHECK 40
ON 40,365
Constant subscript evaluation
Optimization of 52
Constants 30
adjustable length 34
chain 38,57
Dictionary Entries from 362
FILE 362
file constants with the ENVIRONMENT
option 41
fixed length 34
label 361
sterling 38
440
Constants, phase CS 56
Constructing and accessing the
Dictionary 31
Control block
DECLARE:; 41
Control code word
format of 343
CONTROL COLUMN 414
Control Flow
Figure 3 18
Control phase 17
Control program
of the Operating System 15
CONTROLLED
Array 360
chains 45
structures 360
CONTROLLED chain 57,63
CONTROLLED variable 63
Conversion frow absolut~ addresses 15
Conversion of symbolic references 15
Conversions, PhaSES OG,OM,OP 56
Correspondence defining 39
CSECT
Program Control Section 63
STATIC internal 63
Data
Dictionary Entries for 352
dynamically defined 39
options 41
Data Byte 357
Data interchange 45
Data Items
Dictionary Entries for 352
Data lists 41
Data sets 24
SYSIN 21
SYSPRIN'I 21
Data/format lists in I/O staterrents
DCLCB parameter
froIT the FILE option 53
Declarations
attribute 19
DECLARE
chain 29
control block 41
forrr.at of 380
statem~nts
32,37
DED
Dictionary Entry 366
DED-Data element descriptor 58
DED2
Entries 367
DEFINED 34,58
chain check 45
dynamically 58
items which are to be addressed
directly 59
second file Statewents for 393
DEFINED aggregate 61
DEFINED data 35
Dictionary entries for 39
DEFINED STORAGE MAPPING 45,46
Defining
correspondence 39
dynamic 39
55
Mixed scalar-array-structure-string
class overlay 46
overlay 39
Scalar overlay defining 46
static 39
undimensioned structure overlay
defining 46
DELAY statement 52
format of 379
DELETE
statements 53
Descriptors
Temporary 47
Device type options 15
Diagnostic Message Control 21,22
Diagnostic messages 20,29,64,422-428
Dictionary 17
block size 15,405
Constructing and Accessing 31
diagnostic message chain in the
dictionary area 29
dump of 25
extendE;d 26
first dictionary block 17
hash table 31
normal-sized 26
Dictionary and text block size 22
Dictionary area
dianostic message chain 29
Dictionary blocks
available 405
first dictionary block 17
Dictionary entries 39
AUTOMA'J'IC Chain Delimiter 366
BCD 364
BEGIN 33
Built-in Functions 363
CHECK list 365
Code Byte 351
compile-time processor 429
Data It~ems 352
DED 366
DED2 367
DEFINED data 39
Dope Vector Descriptor 368
Dope Vector Skeletons 366
ENTRY 33
Entry Points 32,347
entries type 1 32
entry t.ype 4 32
FED 367
Internal Entry Point 33
FILE 362
list processing AREA condition 38
Format Element Descriptor 367
from Constants 362
GENERIC entry labels 42
INITIAL attributes 34
Initial Values 369
item described by a picture 39
Label 352
Label BCD 367
ON conditions 38,59
OPEN control block 41
option 41
parameter descriptions 364
PICTURE 34,365
PICTURE 365
PROCEDURE 33
RECORD dope vector 367
skeleton dope vector 58
STATIC DSA 57,368
Statements 34,35,37
Structure Items 352
Symbol Table 366
Dictionary entries for Label Variables 352
Dictionary entries for Major and Minor
Structures 353
temporary variable 59
Dictionary entries during the compilation
formats of 345
Workspace Requirement 366
Dictionary Phase 19,31-40
Dictionary reference
of a POINTER in a PEXP pointer
expression 39
Dictionary references
dummy 38
Dimension Table 368
Dimension table entries 34
Dimension table 38
DISPLAY statement 52
format of 379
DO groups
nesting 48
DO loop processing phases 44
DO loops 48
DO statement 37
format of 377
DO-nest levels 28
Dope Vector Descriptor Entry 368
Dope Vector Entries for Temporaries 367
Dope Vector Skeletons, Dicticnary
Entries 366
Double stack translation 43
DSA optimization 60,420-421
Durruny argurrents
assignments to chameleon dummy
arguments 44
Dummy dictionary references
statements containing 38
Dump 25,26
Annotated Dictionary 26
Annotated Text 25
dictionary codes used 25
easy-to-read text print 26
inter-phase 25
of the dictionary 25
SYSPRINT 25
DUMP option 25
Dynamic initialization phases 44
Dynamic Prologue Subroutine code 420-421
Dynamically defined data 39
EDIT option 41
Edit-directed I/O 54
EMPTY built-in function 41
END card 64
END statement 37,42
format of 376
Entry labels
GENERIC 42
Entry name
generic entry name arguments to
procedure invocations 51
Index
441
Entry Point
Dictionary Entries for an Internal Entry
Point 33
Entry Points 32,347
Dictionary Entries 347
External 32
formal parameters 32
parameter descriptions 32
to Library routines IHESADA and
IHESADE 63
Entry Requiring Additional Comparisons
Format of 342
ENTRY statement
entry type 1 348
format of 376
EntIy type 1 348
ENTRY statement 348
Entry type 1 chain 63
Entry type 1 for
BEGIN 347
ENTRY 347
PROCEDURE 347
Entry Type 2 349
Entry Type 3 349
Entry Type 4 350
dictionary entries 32
Entry Type 5 351
ENVIRONMENT option 41
EOB operator 44
Error editor 65
Error Editor Phase 20,64
Error messages
text of 65
Error messages 422-428
Errors and Diagnostic Messages 29
ESD and RLD cards 20
SSD cards 62,63
EVENT
array 53
data 363
option 51,54
present in a CALL statement 42
variables 38,51
EVENT array dope vector 53
EXCLUSIVE second level marker 41
EXCLUSIVE OR functions 50
EXIT
format of 379
statements 52
Expression
in a RETURN expression 32
Expressions
arguments 41
array expressions in I/O lists 40
evaluated at prologue time 38
for array bounds 32
structure 42
Expressions - compile-time 431
Expr8ssions specified for
string lengths 32
Extended dictionary option 25,26
Extent variable
named in the REFER option 53
External entries for Built-in functions 63
External entries for EXTERNAL entry
names 63
External entries for files
63
External entries for Library functions 63
442
379
Hash table
dictionary 31
Housekeeping Phase FT
38
I/O
Library routine entries for EDITdirected STREAM-I/O 54
I/O activity
within a PROCEDURE or BEGIN block 41
I/O lists
array expressions in 43
I/O statements 40
Data/format lists in 55
RECORD 41
Identification Table 415
Identifier Value Block
Forrrat of 430
Identifiers 30,37
ECD 19
GENERIC 35
implicitly defined 31
with identical array bounds 34
with INITIAL CALL 35
with th~ INITIAL attribute 35
Identifiers appearing as multiple
declarations 35
IDV initial dope vector statement 48
IEMAA
module 21
IEMAF Control Section
Figure 414
IF statement
format of 377
result of the comparison 52
IF triples second operand 52
IGNORE option 54
IHELSP parameter list 53
IHEQERR 63
IHE(;'l'IC 63
IHESA 51
IHESADA 63
IHESADE 63
IHETSA 51
Implicitly defined identifiers 31
In-line
BOOL functions 50
built-in functions 45
functions which are to be coded
in-line 51
pseudo-code 49,50
types of ASSIGNMENT triples 55
INCLUDE mdtrix 54
INDEX 50
functions 45
INITIAL
arrays 58
Identifiers with the INITIAL
attribute 35
variables 48
INITIAL attribute 36
INITIAL attributes dictionary entries 34
INITIAL CALL
Identifiers 35
INITIAL CALL attributes 34
INITIAL latel DECLARE statements
forrrat of 379
Initial label statements
Index
443
label array 39
Initial Labels 30
INITIAL Value List 369
INITIAL value statement format 392
Initial value statements
associated with the ALLOCATE
statement 60
Initial value string
arrays 48
Initial Values
Dictionary Entries 369
Initialization 21
Input to the compiler 15
Input/Output Control 21,22
Input/output statements
syntax of 31
Input/Output Usage Table 24
Instruction Codes
compile-time processor 431
Instructions 388,390
RR 390
RS 388,390
RX 387,390
SI 388,390
SS 388,390
Inter-phase dumping
t-lodule AD 25
Intermediate result stack 49
Intermediate results 48
Intermediate string results
stack of 49
Internal Entry Point
Dictionary Entries for 33
Internal Library Functions 364
Internal standard calling sequence 51
Invocation count 63
IRREDUCIBLE 36
iSUB references 40
iSUBs
items defined using iSUBs 43
IVB
Format of 430
Job Termination
22
KEYTO option 54
KEYWD routine 341
Keyword tables 341
Label
Constants 361
Dictionary Entries for 352
Label array 38
initial label statements 39
LABEL attribute 34
Label BCD
Entries 367
Label declaration 29
Label statements
initial 39
Label table entries
multiple 29
Label table entry 29
Label Variables
Obtal-ned from DECLARE Statement
444
352
possibly subscripted 52
Subscripted 30
Labels
Compiler 361
Initial 30
Statement 34
Large source programs 15
Level Numbers
Structure Level Numbers 34
Levels
block 28
DO-nest 28
Library
FREEDSA 52
invocations by a function
reference 44,51
Library call
GET and PUT statements 54
termination 54
Library calling sequences 395
Library conversion routines
list of 63
Library epilogue routine
call 52
Library routine entries for
edit-directed STREAM-orientec I/O 54
Library routines
arguments passed to 45
External 396
Interna.l 395
LIKE
Data with the LIKE attribute 35
LIKE attribute 34,36
LIKE chain 36
Line numbering 27
LINECNT
compiler options 414
LIST option 41,63
List processing
based variables 37
facility 33
variables in CHECK lists 38
Listing of the object code 20
Lists 38,42
CHECK 42
data 41
NOCHECK 38,42
Loader text 20
LOCATE 41,44,53
Logical end-of-prograw indication 29
Logical Phases suwmary 17
MACRO option 27
11AIN option 63
Main storage required 405
Major and rrinor structure entries 353,360
Nap
phase-in-storage 339
Mapping
array 19
structure 19
Mapping of structures and arrays 45
Markers
multiple assignment 50
pseudo-variable 50
MAX
number of arguments 51
forrr,at of 379
NULLO
built-in functions 41
Number of arguments to
MAX 51
MIN 51
Object code listing 20,62
OBJNM pararreter 64
OFFSE'I' 34
Seccnd Eile Statements for 392
variables 38
OFFSETl slot 360
OFFSET2 slct 360
ON
conditions 40,365
dictionary entries 38
prograrrrrer-named 37
triples 52
ON block prologue 60
ON CHECK conditions .
multiple dictionary entries 37
0:\1 condition
38
dictionary entry for 37
entries 59
ON statement 38,364
formats 377
OPEN
calling sequences 54
control block entries 41
Library modules 54
OPEN and CLOSE statements
format of 380
Operands and operators 43
Operating System control program 15
Operations 50
Operator
CO{viPARE 49
Optimization
DSA 60
in the final asserrbly 62
of constant subscript evaluation 52
Optimization Byte 352
Options
A'l'R 61
BY NAME 40
COBOL 41
Code Byte 34,351
DATA 41
device type 15
dictionary entry 41
DUtvlP 25
EDIT 41
EVENT 51,54
extended dictionary 25
IGNORE 54
KEYTC 54
LIST 41,63
t1ACRO 27
PRIORITY 51
REFER 53
severity level of messages required 64
SIZE 22,405
SOURCE 28,30
STl'-jrr
62
storage size 15
TASK
51
Index
445
49
functions
50
operations 50
Output from the compiler
Output string 30
Overlay
defining 39
OR
15
P FORMAT marker 37
Parameter Array
360
Array 360
Parameter description
in an entry declaration 42
Parameter descriptions
Dictionary entries 364
entry points 32
Parameter list
to IHELSP 53
Parameter Lists
Dictionary Entry 366
Parameter registers
47
Parameter type 1
Formal parameter type 1 entry 361
?EXP pOinter expression
dictionary reference of a POINTER 39
?EXP second file statement 36
Phase descriptions, Flowcharts, and
Subroutine tables
Aggregates Logical phase 45-46,192
AS 27,83,89-90
AV 27,84,91
BC
27,85,92-93
BG 28,86,94-96
BM 28,87,97
BW 28,88,97
BX 26,99,105
CI
30,100
CL 31,101
CO 31,102
compile-time Processor 19,27,82,429
CS 31,103
CV
31,104,112
Dictionary 19,31-40,113
ED 33,129
EG 33,114,129-130
EI
34,115,131-133
EL 34,116,134-136
EP 35,117,137-138
Error Editor 20,64-65
EW 36,118,139
EY 36,119,140
FA 36,120,141-143
FE 37,121,143-144
FI 37,122,144-145
Final Assembly 20,62-64,311
FK 37,123,146
FO 37,124,147
PQ 38,125,148-149
FT 38,126,150-151
FV 39,127,152-153
FX 39,128,154-155
GA 41,157,165
GB 41,158,166-167
GK 41,159,168
GO 41,169
GP 41,160,170-171
GU 42,161,172-173
446
HF
HK
HP
IA
IG
IL
1M
IT
IX
JD
42,162,174-175
43,163,176
43,164,177
44,179,183
44,180,186
44,187
44,181~187-189
45,182,189-190
45,184,190
45,185,191
JI
45,193,196
JK 45,194,197-198
JP
46,195,199
LA 48,201,231-232
LB 48,202,233
LD 48,L03,234
LG 48,204,235-236
LH.
49
LS 49,205,237-238
LV 49,206,239
LX 49,207,240
MB 50,208,242-243
MD
50,209,244
ME 50,210,245-246
MG
50,211,247-249
MI 51,212,250
MK 51,213,251
f'.'IL
51, 214, 252
MM 51,215,252-253
MP 51,216,254
MS 52,217,255
NA 52,218,256-258
NG
52,219,259
NJ 53,220,260-265
NIvl
54, 221, 266
NT 54,222,267
NU
55,223,268
OB 55,224,269-270
OD 55,225,271
OE 55,226,272
OG 56,227,273-274
QlJ]
56,228,275
o P ~) 6 , 22 9 , 27 6
OS 56,230,277-278
PA 57,280,290
PD 57,281,291
PH
57,282,292-293
PL 58,283,294
PP 59,284,295-296
Pretranslator 19
Pretranslator Logical 40-43,156
Pseudo-Code 19
Pseudo-code Logical 46-57,200
PT 59,285,297-298
QF 59,286,300
QJ 60,287,301-302
QX 61,289,303
RA 61,305,307-308
Read-In 19,28-31,98
Register Allocation 20,61-62,304
RF 62,309-310
Storage Allocation 19,57-61,279
TF 62,312,321
TJ 62,313,322
TO 63,314,323
Translator Logical 43,45,178
TT 63,315,324-325
UA 63,316,326-327
UD 64,317,328
UE 64,318,329-330
UF 64~319,331-333
XA 64 11 320,334
Phase Directory 343,22
second half 26
Phase directory entry
format of 343
Phase Loading 21,22
Phase-in-storage map 339
Phases
DO loop processing phases 44
dynamic initialization 44
marked wanted or not wanted 44
Phases and Modules - Guide 335-338
Physical general purpose registers 47
PICTURE 34
dictionary entry 34,39
Entry 365
table entry 34
Picture chain 37
validity of each item 38
PL/I source program on SYSOT3 27
PL/I source text 17
PNTR 54
POINTER
references 45
variables 38,54
POINTER arrays and structures storage
mapping 45
Prologue 60
POSITION constant 34
Precision 34
PREFIX ON slots
in the Dynamic Storage Area 61
Pretranslator Logical Phase 40
Pretranslator Phase 19
PIUORITY
option 51
present in a CALL statement 42
PROCEDURE
BEGIN 52
calls with arguments In
chains 28
entries type 1 32
generic 45,51
invocations by a CALL statement 51
invocations by a function
reference 44,51
parameters 32
size 62
statement 35
statements 37,39,42
triples 48,,52
Procedure arguments
temporary variables for 19
PROCEDURE block
prologue 60
invocations 51
PROCEDURE statement 33
format of 375
format of an entry for 347
PROCEDURE BEGIN statements 33
PROCEDURE-ENTRY chain 33
circular 34
PROCEDURE-ENTRY-BEGIN
chain 29
Program Check Handling 21,22
36
R format item 55
RDV for CONTROLLED or BASED aggregates 53
RDV for CONTROLLED or BASED strings 53
READ
format of 380
statements 53
READ SET
statements 41
Read-In logical phase description 28
Read-In Phase 19
output of 29
Storage fYJap 30
Record dope vector 53
Entry 367
RECORD I/O statements 41
RECORD-oriented input/output 53
REDUCIBLE 36
REFER
option 53
References
AREA 45
iSUB 40
Index
447
POIN'l'ER 45
Register
description 47
Hegister Allocation 61-62
Register Allocation Phase 20
Registers
arithmetic 47
assigned 47,62
base 62
parameter 47
physical 47
symbolic 62
Remote format statements 55
Resident tables 341
Results
Intermediate 48
RETURN
triples 52
RETURN expression
expression in 32
RETURN statement
format of 379
REVERT
triples 52
REVERT statements
format 378
REWRITE
format of 380
statements 53
RLD cards 20,62
RR Instructions 388,390
RS Instructions 388,390
RX Instructions 387,390
Scalar assignments 43
Scalar overlay defining 46
Scalar-array-structure-string overlay
defining 46
Scalars in
AUTOMATIC 361
CONTROLLED 361
EXTERNAL 361
parameter 361
STATIC 361
STATIC INTERNAL 361
Scale constants 34
SCAN routine 50
Scratch Storage Control 21,22
Second Code Byte 364
Second File Dictionary Entry
format of 368
Second file entries 38
Second file stateme~t 59,390
PEXP 36
Second File Statements for
BASED 392
DEFINED 393
OFFSET 392
Second Half Byte format 345-347
Second half list
BLDL 26
Second half phase directory 26
Second Level Directory
format of 342
Second Offset Slot
decision to include 359
Secondary dope vector
448
GET 43
IDV initial dope vector 48
I/O 40
LOCATE 41,44,53
nested 42
nested assignment 43
ON 38,,364
PROCEDURE 31,33,37,39,42
PROCEDURE BEGIN 33
PUT 43
READ 53
READ SET 41
RECORD I/O 41,53
Remote format 55
REVERT 38
REWRITE 53
SELL 40,42,51,55
'SIGNAL 38
SIGNAL CHECK 42
STOP and EXIT 52
structure assignment 42
syntax of input/output statements 31
UNLOCK 53
WAIT :;2
WRITE 53
Statements within statements 40
STATIC
chains 45,57
defining 39
S~I'ATIC chain
external section 63
file constants 41
S~rATIC DSAs
Dictionary entries 57,368
STATIC INTERNAL control section 63
s~rATIC EX'J'ERNAL
Array 360
s~rATIC IN'I'ERNAL
Non Structured Arrays in 360
s~rATIC IN'I'ERNAL arrays
58
STATIC IN'I'ERNAL control section
current size of 57
STATIC DSAs 63
STATIC internal CSECT 63
text for 63
STATIC IN'I'ERNAL Structures 360
STATIC chain 58
STATIC storage allocation 57
s'rATUS 50
sterling constants 38
STMT option 62
STOP
format of 379
statements 52
St:orage
Temporary 40
storage allocation
STATIC 57
Storage Allocation 57-61
Storage Allocation Phase 19
Storage class 38
Storage Requirements 22,405
Storage size options 15
St~ring
comparisons 49
output 30
triples 49,50
String length expressions
32,60
449
dimension 34
Tables
keyword 341
resident 341
Task
Identifiers 363
option 51
present in a CALL statement 42
variables 38,39,51
TASK and EVENT options
on CALL statements 37
Tasking information in the DSA 59
Tasking option
WAIT 53
Temporaries 40,42
Dope Vector Entries 367
maximum permitted number of 45
Temporary
BUY statement 42
chameleon 42
item declared in a SETS list 42
Temporary arrays, bounds 32
Temporary Descriptions in Pseudo-Code 395
E'igure 394
Temporary Descriptors 47
Temporary Storage 40
dictionary entries 59
Temporary Variables
creation of 19
dictionary entries 59
Temporary workspace 48
Terminated compilation 45
Termination 21
Library call 54
~ermination of the compilation
65
Text
block size 15,405
error messages 65
for the compiler subroutines 63
for the static internal CSECT 63
skeletons 45
Text and Dictionary Block Control 21
Text blocks 17,405
Text Code Bytes after read-in tables 372-375
Text code bytes in pseudo-code - table 386
Text code Bytes on entry to Translator
Phases 382-431
Text Formats after Read-in Phase 375-380
Text ~'orn'ats in absolute code 390
Text string 17
After translation 43
Text, terms used in compilation 396-404
Third Level Tables
Format of 342
TMPD - temporary result descriptors 393
Transfer Vectors 407
Translation double stack 43
~ranslator Logical Phase
43
Translator Phase 19
Triple
GOOB 52
Triples 19
ALLOCATE 48
arithmetic 49
BEGIN 48,52
comparison 49,50
concatenation 45
450
GOLN 52
GOTO 52
ON 52
PROCEDURE 48,52
pseudo-variable 49
RETURN 52
REVERT 52
SIGNAL arithmetic condition
string 49,50
subscript 49
unary prefixed 45
Triples Format 383-385
Triples into pseudo-code 55
TXT cards 63
Type 1 entries
formal parameter 33
52
Umbrella Symbol 40
Unary prefixed triples 45
Undimensioned structure overlay
defining 46
UNLOCK
format of 380
UNSPEC 50
functior,s 45
Unsubscripted arrays 43
USES attributes 34
Variable Byte 357
Variable Data Areas
VDAs 51,59
Variable lnformation
Format of 357
Variable length Item FLAG 388
Variables
ARE.A 38
BASED 38
EVENT 38,51
INITIAL 48
TASK 38,39,51
VARYING
array 58
Varying strings
concatenation of 50
VARYING strings storage wapping 45-46
VDAs
Variable Data Areas 51,59
VDAs for
adjustable length strings 51
temporaries 51
WAIT taskin9 option 53
WAIT staten:ent 52
format 378
Workspace
for the function result
temporary 48
Workspace Requirement
Dictionary Entry 366
WRITE
format of 380
XREF
49
39
63
26
Index
451
Y28-6800-3
;j
00
J,
00
.!,